Skip to content

Commit 2384f77

Browse files
committed
Add test to reuse parser
1 parent aee584e commit 2384f77

File tree

1 file changed

+31
-7
lines changed

1 file changed

+31
-7
lines changed

test/test_difflib_parser.py

Lines changed: 31 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -1,25 +1,25 @@
11
from difflib_parser import difflib_parser, DiffCode
22

33

4-
def test_diff_parser_same_lines():
4+
def test_difflib_parser_same_lines():
55
parser = difflib_parser.DifflibParser(["Hello world"], ["Hello world"])
66
for diff in parser.iter_diffs():
77
assert diff.code == DiffCode.SAME
88

99

10-
def test_diff_parser_added_line():
10+
def test_difflib_parser_added_line():
1111
parser = difflib_parser.DifflibParser([], ["Hello world"])
1212
for diff in parser.iter_diffs():
1313
assert diff.code == DiffCode.RIGHT_ONLY
1414

1515

16-
def test_diff_parser_removed_line():
16+
def test_difflib_parser_removed_line():
1717
parser = difflib_parser.DifflibParser(["Hello world"], [])
1818
for diff in parser.iter_diffs():
1919
assert diff.code == DiffCode.LEFT_ONLY
2020

2121

22-
def test_diff_parser_edited_multi_line():
22+
def test_difflib_parser_edited_multi_line():
2323
parser = difflib_parser.DifflibParser(
2424
["- Milk", "- Eggs", "Bread", "- Apples", "- Ham"],
2525
["- Milk", "- Eggs", "Bread", "- Apples", "- Ham1"],
@@ -42,7 +42,7 @@ def test_diff_parser_edited_multi_line():
4242
i += 1
4343

4444

45-
def test_diff_parser_changed_line_pattern_a():
45+
def test_difflib_parser_changed_line_pattern_a():
4646
# Pattern a essentially looks at the case where existing characters were added/removed
4747
parser = difflib_parser.DifflibParser(["Hello world"], ["Hola world"])
4848
for diff in parser.iter_diffs():
@@ -53,7 +53,7 @@ def test_diff_parser_changed_line_pattern_a():
5353
assert diff.right_changes == [1, 3]
5454

5555

56-
def test_diff_parser_changed_line_pattern_b():
56+
def test_difflib_parser_changed_line_pattern_b():
5757
# Pattern b essentially looks at the case where only additions were included
5858
parser = difflib_parser.DifflibParser(["Hello world"], ["Hello world!"])
5959
for diff in parser.iter_diffs():
@@ -64,7 +64,7 @@ def test_diff_parser_changed_line_pattern_b():
6464
assert diff.right_changes == [11]
6565

6666

67-
def test_diff_parser_changed_line_pattern_c():
67+
def test_difflib_parser_changed_line_pattern_c():
6868
# Pattern c essentially looks at the case where only removals were included
6969
parser = difflib_parser.DifflibParser(["Hello world"], ["Hello worl"])
7070
for diff in parser.iter_diffs():
@@ -73,3 +73,27 @@ def test_diff_parser_changed_line_pattern_c():
7373
assert diff.newline == "Hello worl"
7474
assert diff.left_changes == [10]
7575
assert diff.right_changes == []
76+
77+
78+
def test_reuse_difflib_parser():
79+
parser = difflib_parser.DifflibParser(
80+
["- Milk", "- Eggs", "Bread", "- Apples", "- Ham"],
81+
["- Milk", "- Eggs", "Bread", "- Apples", "- Ham1"],
82+
)
83+
expected_codes = [
84+
DiffCode.SAME,
85+
DiffCode.SAME,
86+
DiffCode.SAME,
87+
DiffCode.SAME,
88+
DiffCode.CHANGED,
89+
]
90+
for _ in range(2):
91+
i = 0
92+
for diff in parser.iter_diffs():
93+
assert diff.code == expected_codes[i]
94+
if diff.code == DiffCode.CHANGED:
95+
assert diff.line == "- Ham"
96+
assert diff.newline == "- Ham1"
97+
assert diff.left_changes == []
98+
assert diff.right_changes == [5]
99+
i += 1

0 commit comments

Comments
 (0)