code: def test_numpy_equals(self) -> None:
      # Simple check.
      np_0 = {"cov": np.array([[0.1, 0.0], [0.0, 0.1]])}
      np_1 = {"cov": np.array([[0.1, 0.0], [0.0, 0.1]])}
      self.assertEqual(
          object_attribute_dicts_find_unequal_fields(np_0, np_1),
          ({}, {}),
      )
      # Unequal.
      np_1 = {"cov": np.array([[0.1, 0.0], [0.1, 0.1]])}
      self.assertEqual(
          object_attribute_dicts_find_unequal_fields(np_0, np_1),
          ({}, {"cov": (np_0["cov"], np_1["cov"])}),
      )
      # With NaNs.
      np_1 = {
          "cov": np.array([[0.1, float("nan")], [float("nan"), 0.1]])
      }
      self.assertEqual(
          object_attribute_dicts_find_unequal_fields(np_0, np_1),
          ({}, {"cov": (np_0["cov"], np_1["cov"])}),
      )
      np_0 = {
          "cov": np.array([[0.1, float("nan")], [float("nan"), 0.1]])
      }
      self.assertEqual(
          object_attribute_dicts_find_unequal_fields(np_0, np_1),
          ({}, {}),
      )
  
file_path: Ax/ax/utils/common/tests/test_equality.py
imports: from datetime import datetime
  import numpy
  import pandas
  from ax.utils.common.equality import dataframe_equals, datetime_equals, equality_typechecker, object_attribute_dicts_find_unequal_fields, same_elements
  from ax.utils.common.testutils import TestCase
label_desc: Use image node_id 5 for calling the EqualityTest obj's underlying member method code with example usage: obj.test_numpy_equals() without return types