@@ -783,28 +783,6 @@ def test_ignore_order_and_group_by(self):
783783
784784class TestCompareFuncIgnoreOrder :
785785
786- EXPECTED = {
787- 'values_changed' : {
788- "root[2]['id']" : {
789- 'new_value' : 2 ,
790- 'old_value' : 3
791- },
792- "root[1]['id']" : {
793- 'new_value' : 3 ,
794- 'old_value' : 2
795- }
796- }
797- }
798-
799- EXPECTED_WITH_COMPARE_FUNC = {
800- 'iterable_item_added' : {
801- "root[2]['value'][2]" : 1
802- },
803- 'iterable_item_removed' : {
804- "root[1]['value'][2]" : 1
805- }
806- }
807-
808786 def test_ignore_order_with_compare_func_to_guide_comparison (self ):
809787 t1 = [
810788 {
@@ -836,9 +814,31 @@ def test_ignore_order_with_compare_func_to_guide_comparison(self):
836814 },
837815 ]
838816
817+ expected = {
818+ 'values_changed' : {
819+ "root[2]['id']" : {
820+ 'new_value' : 2 ,
821+ 'old_value' : 3
822+ },
823+ "root[1]['id']" : {
824+ 'new_value' : 3 ,
825+ 'old_value' : 2
826+ }
827+ }
828+ }
829+
830+ expected_with_compare_func = {
831+ 'iterable_item_added' : {
832+ "root[2]['value'][2]" : 1
833+ },
834+ 'iterable_item_removed' : {
835+ "root[1]['value'][2]" : 1
836+ }
837+ }
838+
839839 ddiff = DeepDiff (t1 , t2 , ignore_order = True )
840840
841- assert self . EXPECTED == ddiff
841+ assert expected == ddiff
842842
843843 def compare_func (x , y , level = None ):
844844 try :
@@ -847,12 +847,12 @@ def compare_func(x, y, level=None):
847847 raise CannotCompare () from None
848848
849849 ddiff2 = DeepDiff (t1 , t2 , ignore_order = True , iterable_compare_func = compare_func )
850- assert self . EXPECTED_WITH_COMPARE_FUNC == ddiff2
850+ assert expected_with_compare_func == ddiff2
851851 assert ddiff != ddiff2
852852
853853 def test_ignore_order_with_compare_func_can_throw_cannot_compare (self ):
854854 t1 = [
855- {},
855+ {1 },
856856 {
857857 'id' : 2 ,
858858 'value' : [7 , 8 , 1 ]
@@ -875,15 +875,52 @@ def test_ignore_order_with_compare_func_can_throw_cannot_compare(self):
875875 {},
876876 ]
877877
878- ddiff = DeepDiff (t1 , t2 , ignore_order = True )
879- assert self .EXPECTED == ddiff
878+ expected = {
879+ 'type_changes' : {
880+ 'root[0]' : {
881+ 'old_type' : set ,
882+ 'new_type' : dict ,
883+ 'old_value' : {1 },
884+ 'new_value' : {}
885+ }
886+ },
887+ 'values_changed' : {
888+ "root[2]['id']" : {
889+ 'new_value' : 2 ,
890+ 'old_value' : 3
891+ },
892+ "root[1]['id']" : {
893+ 'new_value' : 3 ,
894+ 'old_value' : 2
895+ }
896+ }
897+ }
898+ expected_with_compare_func = {
899+ 'type_changes' : {
900+ 'root[0]' : {
901+ 'old_type' : set ,
902+ 'new_type' : dict ,
903+ 'old_value' : {1 },
904+ 'new_value' : {}
905+ }
906+ },
907+ 'iterable_item_added' : {
908+ "root[2]['value'][2]" : 1
909+ },
910+ 'iterable_item_removed' : {
911+ "root[1]['value'][2]" : 1
912+ }
913+ }
914+
915+ ddiff = DeepDiff (t1 , t2 , cutoff_intersection_for_pairs = 1 , cutoff_distance_for_pairs = 1 , ignore_order = True )
916+ assert expected == ddiff
880917
881918 def compare_func (x , y , level = None ):
882919 try :
883920 return x ['id' ] == y ['id' ]
884921 except Exception :
885922 raise CannotCompare () from None
886923
887- ddiff2 = DeepDiff (t1 , t2 , ignore_order = True , iterable_compare_func = compare_func )
888- assert self . EXPECTED_WITH_COMPARE_FUNC == ddiff2
924+ ddiff2 = DeepDiff (t1 , t2 , ignore_order = True , cutoff_intersection_for_pairs = 1 , cutoff_distance_for_pairs = 1 , iterable_compare_func = compare_func )
925+ assert expected_with_compare_func == ddiff2
889926 assert ddiff != ddiff2
0 commit comments