MCPcopy Create free account
hub / github.com/dmlc/xgboost / recursive_compare

Function recursive_compare

python-package/xgboost/testing/continuation.py:38–53  ·  view source on GitHub ↗
(obj_0: T, obj_1: T)

Source from the content-addressed store, hash-verified

36 T = TypeVar("T", Dict[str, Any], float, str, int, list)
37
38 def recursive_compare(obj_0: T, obj_1: T) -> None:
39 if isinstance(obj_0, float):
40 assert np.isclose(obj_0, obj_1, atol=1e-6)
41 elif isinstance(obj_0, str):
42 assert obj_0 == obj_1
43 elif isinstance(obj_0, int):
44 assert obj_0 == obj_1
45 elif isinstance(obj_0, dict):
46 for i in range(len(obj_0.items())):
47 assert list(obj_0.keys())[i] == list(obj_1.keys())[i]
48 if list(obj_0.keys())[i] != "missing":
49 recursive_compare(list(obj_0.values()), list(obj_1.values()))
50 else:
51 for i, lhs in enumerate(obj_0):
52 rhs = obj_1[i]
53 recursive_compare(lhs, rhs)
54
55 assert len(dump_0) == len(dump_1)
56

Calls 1

valuesMethod · 0.45

Tested by 2

recursive_compareMethod · 0.68