File tree 1 file changed +59
-1
lines changed
1 file changed +59
-1
lines changed Original file line number Diff line number Diff line change 2
2
import datetime
3
3
import pytest
4
4
import logging
5
+ import re
5
6
import uuid
6
7
from enum import Enum
7
8
from typing import List
@@ -551,6 +552,64 @@ class MyEnum(Enum):
551
552
}
552
553
assert ddiff == result
553
554
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
+
554
613
def test_custom_objects_change (self ):
555
614
t1 = CustomClass (1 )
556
615
t2 = CustomClass (2 )
@@ -1803,4 +1862,3 @@ class Bar(PydanticBaseModel):
1803
1862
diff = DeepDiff (t1 , t2 )
1804
1863
expected = {'values_changed' : {'root.stuff[0].thing' : {'new_value' : 2 , 'old_value' : 1 }}}
1805
1864
assert expected == diff
1806
-
You can’t perform that action at this time.
0 commit comments