@@ -4310,20 +4310,24 @@ def test_optional_arguments(self):
4310
4310
4311
4311
4312
4312
class TestHexbinMapbox (NumpyTestUtilsMixin , TestCaseNoTemplate ):
4313
- def assert_dict_almost_equal (self , dict1 , dict2 , decimal = 7 ):
4313
+ def compare_list_values (self , list1 , list2 , decimal = 7 ):
4314
+ assert len (list1 ) == len (list2 ), "Lists are not of the same length."
4315
+ for i in range (len (list1 )):
4316
+ if isinstance (list1 [i ], list ):
4317
+ self .compare_list_values (list1 [i ], list2 [i ], decimal = decimal )
4318
+ elif isinstance (list1 [i ], float ):
4319
+ np .testing .assert_almost_equal (list1 [i ], list2 [i ], decimal = decimal )
4320
+ else :
4321
+ assert (
4322
+ list1 [i ] == list2 [i ]
4323
+ ), f"Values at index { i } are not equal: { list1 [i ]} != { list2 [i ]} "
4324
+
4325
+ def compare_dict_values (self , dict1 , dict2 , decimal = 7 ):
4314
4326
for k , v in dict1 .items ():
4315
4327
if isinstance (v , dict ):
4316
- self .assert_dict_almost_equal (v , dict2 [k ], decimal = decimal )
4328
+ self .compare_dict_values (v , dict2 [k ], decimal = decimal )
4317
4329
elif isinstance (v , list ):
4318
- for i in range (len (v )):
4319
- if isinstance (v [i ], float ):
4320
- np .testing .assert_almost_equal (
4321
- v [i ], dict2 [k ][i ], decimal = decimal
4322
- )
4323
- else :
4324
- assert (
4325
- v [i ] == dict2 [k ][i ]
4326
- ), f"Values at index { i } for key { k } are not equal: { v [i ]} != { dict2 [k ][i ]} "
4330
+ self .compare_list_values (v , dict2 [k ], decimal = decimal )
4327
4331
elif isinstance (v , float ):
4328
4332
np .testing .assert_almost_equal (v , dict2 [k ], decimal = decimal )
4329
4333
else :
@@ -4437,7 +4441,7 @@ def test_aggregation(self):
4437
4441
4438
4442
actual_agg = [2.0 , 2.0 , 1.0 , 3.0 , 9.0 ]
4439
4443
4440
- self .assert_dict_almost_equal (fig1 .data [0 ].geojson , actual_geojson )
4444
+ self .compare_dict_values (fig1 .data [0 ].geojson , actual_geojson )
4441
4445
assert np .array_equal (fig1 .data [0 ].z , actual_agg )
4442
4446
4443
4447
fig2 = ff .create_hexbin_mapbox (
0 commit comments