@@ -634,21 +634,28 @@ def test_delta_dict_items_added_retain_order(self):
634634 'to_delta_kwargs' : {},
635635 'expected_delta_dict' : {'iterable_item_removed' : {'root[9]' : 'a' , 'root[10]' : 'b' , 'root[11]' : 'c' }}
636636 },
637+ 'delta_case19_value_removed_from_the_middle_of_list' : {
638+ 't1' : [0 , 1 , 2 , 3 , 4 , 5 , 6 , 7 , 8 , 'a' , 'b' , 'c' ],
639+ 't2' : [0 , 1 , 2 , 3 , 5 , 6 , 7 , 8 , 'a' , 'b' , 'c' ],
640+ 'deepdiff_kwargs' : {},
641+ 'to_delta_kwargs' : {'directed' : True },
642+ 'expected_delta_dict' : {'iterable_item_removed' : {'root[4]' : 4 }}
643+ },
637644}
638645
639646
640- DELTA_CASES_PARAMS = parameterize_cases ('t1, t2, deepdiff_kwargs, to_delta_kwargs, expected_delta_dict' , DELTA_CASES )
647+ DELTA_CASES_PARAMS = parameterize_cases ('test_name, t1, t2, deepdiff_kwargs, to_delta_kwargs, expected_delta_dict' , DELTA_CASES )
641648
642649
643650class TestDelta :
644651
645652 @pytest .mark .parametrize (** DELTA_CASES_PARAMS )
646- def test_delta_cases (self , t1 , t2 , deepdiff_kwargs , to_delta_kwargs , expected_delta_dict ):
653+ def test_delta_cases (self , test_name , t1 , t2 , deepdiff_kwargs , to_delta_kwargs , expected_delta_dict ):
647654 diff = DeepDiff (t1 , t2 , ** deepdiff_kwargs )
648655 delta_dict = diff ._to_delta_dict (** to_delta_kwargs )
649- assert expected_delta_dict == delta_dict
656+ assert expected_delta_dict == delta_dict , f"test_delta_cases { test_name } failed."
650657 delta = Delta (diff , verify_symmetry = False , raise_errors = True )
651- assert t1 + delta == t2
658+ assert t1 + delta == t2 , f"test_delta_cases { test_name } failed."
652659
653660
654661DELTA_IGNORE_ORDER_CASES = {
@@ -931,15 +938,15 @@ def test_delta_cases(self, t1, t2, deepdiff_kwargs, to_delta_kwargs, expected_de
931938}
932939
933940DELTA_IGNORE_ORDER_CASES_PARAMS = parameterize_cases (
934- 't1, t2, deepdiff_kwargs, to_delta_kwargs, expected_delta_dict, expected_t1_plus_delta' , DELTA_IGNORE_ORDER_CASES )
941+ 'test_name, t1, t2, deepdiff_kwargs, to_delta_kwargs, expected_delta_dict, expected_t1_plus_delta' , DELTA_IGNORE_ORDER_CASES )
935942
936943
937944class TestIgnoreOrderDelta :
938945
939946 @pytest .mark .parametrize (** DELTA_IGNORE_ORDER_CASES_PARAMS )
940947 def test_ignore_order_delta_cases (
941- self , t1 , t2 , deepdiff_kwargs , to_delta_kwargs , expected_delta_dict , expected_t1_plus_delta , request ):
942- test_name = request .node .callspec .id
948+ self , test_name , t1 , t2 , deepdiff_kwargs , to_delta_kwargs , expected_delta_dict , expected_t1_plus_delta , request ):
949+ # test_name = request.node.callspec.id
943950 diff = DeepDiff (t1 , t2 , ** deepdiff_kwargs )
944951 delta_dict = diff ._to_delta_dict (** to_delta_kwargs )
945952 assert expected_delta_dict == delta_dict , f"test_ignore_order_delta_cases { test_name } failed"
@@ -1094,31 +1101,31 @@ def test_ignore_order_delta_cases(
10941101
10951102
10961103DELTA_NUMPY_TEST_PARAMS = parameterize_cases (
1097- 't1, t2, deepdiff_kwargs, to_delta_kwargs, expected_delta_dict, expected_result' , DELTA_NUMPY_TEST_CASES )
1104+ 'test_name, t1, t2, deepdiff_kwargs, to_delta_kwargs, expected_delta_dict, expected_result' , DELTA_NUMPY_TEST_CASES )
10981105
10991106
11001107class TestNumpyDelta :
11011108
11021109 @pytest .mark .parametrize (** DELTA_NUMPY_TEST_PARAMS )
1103- def test_numpy_delta_cases (self , t1 , t2 , deepdiff_kwargs , to_delta_kwargs , expected_delta_dict , expected_result ):
1110+ def test_numpy_delta_cases (self , test_name , t1 , t2 , deepdiff_kwargs , to_delta_kwargs , expected_delta_dict , expected_result ):
11041111 diff = DeepDiff (t1 , t2 , ** deepdiff_kwargs )
11051112 delta_dict = diff ._to_delta_dict (** to_delta_kwargs )
11061113 if expected_delta_dict :
1107- assert expected_delta_dict == delta_dict
1114+ assert expected_delta_dict == delta_dict , f"test_numpy_delta_cases { test_name } failed."
11081115 delta = Delta (diff , verify_symmetry = False , raise_errors = True )
11091116 if expected_result == 't2' :
11101117 result = delta + t1
1111- assert np .array_equal (result , t2 )
1118+ assert np .array_equal (result , t2 ), f"test_numpy_delta_cases { test_name } failed."
11121119 elif expected_result == 't2_via_deepdiff' :
11131120 result = delta + t1
11141121 diff = DeepDiff (result , t2 , ignore_order = True , report_repetition = True )
1115- assert not diff
1122+ assert not diff , f"test_numpy_delta_cases { test_name } failed."
11161123 elif expected_result is DeltaNumpyOperatorOverrideError :
11171124 with pytest .raises (DeltaNumpyOperatorOverrideError ):
1118- assert t1 + delta
1125+ t1 + delta
11191126 else :
11201127 result = delta + t1
1121- assert np .array_equal (result , expected_result )
1128+ assert np .array_equal (result , expected_result ), f"test_numpy_delta_cases { test_name } failed."
11221129
11231130 def test_invalid_numpy_type (self ):
11241131
@@ -1510,11 +1517,27 @@ def test_compare_func_with_duplicates_removed(self):
15101517 t2 = [{'id' : 3 , 'val' : 3 }, {'id' : 2 , 'val' : 2 }, {'id' : 1 , 'val' : 3 }]
15111518 ddiff = DeepDiff (t1 , t2 , iterable_compare_func = self .compare_func , verbose_level = 2 )
15121519 expected = {
1513- 'values_changed' : {"root[2]['val']" : {'new_value' : 3 , 'old_value' : 1 }},
1514- 'iterable_item_removed' : {'root[2]' : {'id' : 1 , 'val' : 3 }},
1515- 'iterable_item_moved' : {
1516- 'root[0]' : {'new_path' : 'root[2]' , 'value' : {'id' : 1 , 'val' : 3 }},
1517- 'root[3]' : {'new_path' : 'root[0]' , 'value' : {'id' : 3 , 'val' : 3 }}
1520+ "iterable_item_removed" : {
1521+ "root[2]" : {
1522+ "id" : 1 ,
1523+ "val" : 3
1524+ }
1525+ },
1526+ "iterable_item_moved" : {
1527+ "root[0]" : {
1528+ "new_path" : "root[2]" ,
1529+ "value" : {
1530+ "id" : 1 ,
1531+ "val" : 3
1532+ }
1533+ },
1534+ "root[3]" : {
1535+ "new_path" : "root[0]" ,
1536+ "value" : {
1537+ "id" : 3 ,
1538+ "val" : 3
1539+ }
1540+ }
15181541 }
15191542 }
15201543 assert expected == ddiff
@@ -1527,11 +1550,27 @@ def test_compare_func_with_duplicates_added(self):
15271550 t2 = [{'id' : 1 , 'val' : 1 }, {'id' : 2 , 'val' : 2 }, {'id' : 1 , 'val' : 3 }, {'id' : 3 , 'val' : 3 }]
15281551 ddiff = DeepDiff (t1 , t2 , iterable_compare_func = self .compare_func , verbose_level = 2 )
15291552 expected = {
1530- 'values_changed' : {"root[0]['val']" : {'new_value' : 1 , 'old_value' : 3 }},
1531- 'iterable_item_added' : {'root[2]' : {'id' : 1 , 'val' : 3 }},
1553+ 'iterable_item_added' : {
1554+ 'root[2]' : {
1555+ 'id' : 1 ,
1556+ 'val' : 3
1557+ }
1558+ },
15321559 'iterable_item_moved' : {
1533- 'root[2]' : {'new_path' : 'root[0]' , 'value' : {'id' : 1 , 'val' : 1 }},
1534- 'root[0]' : {'new_path' : 'root[3]' , 'value' : {'id' : 3 , 'val' : 3 }}
1560+ 'root[0]' : {
1561+ 'new_path' : 'root[3]' ,
1562+ 'value' : {
1563+ 'id' : 3 ,
1564+ 'val' : 3
1565+ }
1566+ },
1567+ 'root[2]' : {
1568+ 'new_path' : 'root[0]' ,
1569+ 'value' : {
1570+ 'id' : 1 ,
1571+ 'val' : 1
1572+ }
1573+ }
15351574 }
15361575 }
15371576 assert expected == ddiff
0 commit comments