Skip to content

Commit 516d09c

Browse files
author
Chris Hamill
committed
add unit test for simple precompiled regex diffing
1 parent 9e03ee3 commit 516d09c

File tree

1 file changed

+59
-1
lines changed

1 file changed

+59
-1
lines changed

tests/test_diff_text.py

+59-1
Original file line numberDiff line numberDiff line change
@@ -2,6 +2,7 @@
22
import datetime
33
import pytest
44
import logging
5+
import re
56
import uuid
67
from enum import Enum
78
from typing import List
@@ -551,6 +552,64 @@ class MyEnum(Enum):
551552
}
552553
assert ddiff == result
553554

555+
def test_precompiled_regex(self):
556+
557+
pattern_1 = re.compile('foo')
558+
pattern_2 = re.compile('foo')
559+
pattern_3 = re.compile('foo', flags=re.I)
560+
pattern_4 = re.compile('(foo)')
561+
pattern_5 = re.compile('bar')
562+
563+
# same object
564+
ddiff = DeepDiff(pattern_1, pattern_1)
565+
result = {}
566+
assert ddiff == result
567+
568+
# same pattern, different object
569+
ddiff = DeepDiff(pattern_1, pattern_2)
570+
result = {}
571+
assert ddiff == result
572+
573+
# same pattern, different flags
574+
ddiff = DeepDiff(pattern_1, pattern_3)
575+
result = {
576+
'values_changed': {
577+
'root.flags': {
578+
'new_value': 34,
579+
'old_value': 32,
580+
},
581+
}
582+
}
583+
assert ddiff == result
584+
585+
# same pattern, different groups
586+
ddiff = DeepDiff(pattern_1, pattern_4)
587+
result = {
588+
'values_changed': {
589+
'root.groups': {
590+
'new_value': 1,
591+
'old_value': 0,
592+
},
593+
'root.pattern': {
594+
'new_value': '(foo)',
595+
'old_value': 'foo',
596+
},
597+
}
598+
}
599+
assert ddiff == result
600+
601+
# different pattern
602+
ddiff = DeepDiff(pattern_1, pattern_5)
603+
result = {
604+
'values_changed': {
605+
'root.pattern': {
606+
'new_value': 'bar',
607+
'old_value': 'foo',
608+
},
609+
}
610+
}
611+
assert ddiff == result
612+
554613
def test_custom_objects_change(self):
555614
t1 = CustomClass(1)
556615
t2 = CustomClass(2)
@@ -1803,4 +1862,3 @@ class Bar(PydanticBaseModel):
18031862
diff = DeepDiff(t1, t2)
18041863
expected = {'values_changed': {'root.stuff[0].thing': {'new_value': 2, 'old_value': 1}}}
18051864
assert expected == diff
1806-

0 commit comments

Comments
 (0)