Skip to content

Commit bfb8175

Browse files
committed
add test_gendiff.py
1 parent 2761ac9 commit bfb8175

1 file changed

Lines changed: 39 additions & 0 deletions

File tree

‎tests/test_gendiff.py‎

Lines changed: 39 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,39 @@
1+
import json
2+
from pathlib import Path
3+
from gendiff.find_diff import generate_diff
4+
5+
6+
def read_file(filepath):
7+
return Path(filepath).read_text()
8+
9+
10+
def test_json_diff():
11+
data1_path = 'tests/test_data/data1.json'
12+
data2_path = 'tests/test_data/data2.json'
13+
expected_path = 'tests/test_data/result.txt'
14+
15+
data1 = json.loads(read_file(data1_path))
16+
data2 = json.loads(read_file(data2_path))
17+
expected = read_file(expected_path).strip()
18+
19+
result = generate_diff(data1, data2).strip()
20+
21+
assert result == expected
22+
23+
def test_key_only_in_first():
24+
data1 = {'key1': 'value1'}
25+
data2 = {}
26+
expected = "{\n - key1: value1\n}"
27+
assert generate_diff(data1, data2) == expected
28+
29+
def test_key_only_in_second():
30+
data1 = {}
31+
data2 = {'key1': 'value1'}
32+
expected = "{\n + key1: value1\n}"
33+
assert generate_diff(data1, data2) == expected
34+
35+
def test_identical_keys():
36+
data1 = {'key1': 'value1'}
37+
data2 = {'key1': 'value1'}
38+
expected = "{\n key1: value1\n}"
39+
assert generate_diff(data1, data2) == expected

0 commit comments

Comments
 (0)