code: def test_Data(self) -> None:
      self.assertEqual(Data(), Data())
      data = Data(df=self.df)
      self.assertEqual(data, data)
      self.assertEqual(data.df_hash, self.df_hash)
  
      df = data.df
      self.assertEqual(
          float(
              df[df["arm_name"] == "0_0"][df["metric_name"] == "a"][
                  "mean"
              ]
          ),
          2.0,
      )
      self.assertEqual(
          float(
              df[df["arm_name"] == "0_1"][df["metric_name"] == "b"][
                  "sem"
              ]
          ),
          0.5,
      )
  
imports: import random
  import pandas
  from ax.core.data import clone_without_metrics, custom_data_class, Data, set_single_trial
  from ax.utils.common.testutils import TestCase
  from ax.utils.common.timeutils import current_timestamp_in_millis
label_desc: Use image node_id 2 for calling the DataTest obj's underlying member method code with example usage: obj.test_Data() without return types