code: def test_cast_observation(self):
      env = chainerrl.wrappers.CastObservation(
          gym.make(self.env_id), dtype=self.dtype
      )
      rtol = 1e-3 if self.dtype == np.float16 else 1e-7
  
      obs = env.reset()
      self.assertEqual(env.original_observation.dtype, np.float64)
      self.assertEqual(obs.dtype, self.dtype)
      np.testing.assert_allclose(
          env.original_observation, obs, rtol=rtol
      )
  
      obs, r, done, info = env.step(env.action_space.sample())
  
      self.assertEqual(env.original_observation.dtype, np.float64)
      self.assertEqual(obs.dtype, self.dtype)
      np.testing.assert_allclose(
          env.original_observation, obs, rtol=rtol
      )
  
file_path: chainerrl/tests/wrappers_tests/test_cast_observation.py
imports: import unittest
  from chainer import testing
  import gym
  import numpy
  import chainerrl
label_desc: Use image node_id 1 for calling the TestCastObservation obj's underlying member method code with example usage: obj.test_cast_observation() without return types