code: def test_tuple_float_type(self):
      tuple_float_val = TestTypes.TestClass((1.1, 2.2, 3.3))
      with self.assertRaises(ValueError):
          self._test_list[tuple_float_val] = 1
      self.assertEqual(hash(tuple_float_val), hash((1.1, 2.2, 3.3)))
      tuple_float_val_other = TestTypes.TestClass((1.1, 2.2, 3.3))
      self.assertEqual(tuple_float_val, tuple_float_val_other)
      tuple_float_val_other = TestTypes.TestClass((2.2, 3.3, 1.1))
      self.assertNotEqual(tuple_float_val, tuple_float_val_other)
  
imports: import unittest
  from typing import Tuple, Union
  import numpy
  import torch
  from reagent.ope.estimators.types import ActionDistribution, TypeWrapper, Values
label_desc: Use image node_id 5 for calling the TestTypes obj's underlying member method code with example usage: obj.test_tuple_float_type() without return types