code: def test_unzip(self):
      items = self._int_float_values.items
      values = self._int_float_values.values
      self.assertEqual(
          items,
          [
              TestValues.TestIntType(0),
              TestValues.TestIntType(1),
              TestValues.TestIntType(2),
              TestValues.TestIntType(3),
          ],
      )
      self.assertEqual(values, [2.2, 4.4, 1.1, 3.3])
      items = self._tuple_float_float_values.items
      values = self._tuple_float_float_values.values
      self.assertEqual(
          items,
          [
              TestValues.TestTupleFloatType((1.0, 2.0)),
              TestValues.TestTupleFloatType((3.0, 4.0)),
              TestValues.TestTupleFloatType((5.0, 6.0)),
              TestValues.TestTupleFloatType((7.0, 8.0)),
          ],
      )
      self.assertEqual(values, [2.2, 4.4, 1.1, 3.3])
      items = self._int_array_values.items
      values = self._int_array_values.values
      self.assertEqual(
          items,
          [
              TestValues.TestIntType(0),
              TestValues.TestIntType(1),
              TestValues.TestIntType(2),
              TestValues.TestIntType(3),
          ],
      )
      self.assertTrue(
          np.array_equal(values, np.array([2.2, 4.4, 1.1, 3.3]))
      )
      items = self._int_tensor_values.items
      values = self._int_tensor_values.values
      self.assertEqual(
          items,
          [
              TestValues.TestIntType(0),
              TestValues.TestIntType(1),
              TestValues.TestIntType(2),
              TestValues.TestIntType(3),
          ],
      )
      self.assertTrue(
          torch.equal(values, torch.tensor([2.2, 4.4, 1.1, 3.3]))
      )
  
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 4 for calling the TestValues obj's underlying member method code with example usage: obj.test_unzip() without return types