@@ -0,0 +1,1412 @@
+from __future__ import print_function%0Afrom __future__ import unicode_literals%0Afrom __future__ import division%0Afrom __future__ import absolute_import%0Afrom builtins import *  # NOQA%0Afrom future import standard_library%0Astandard_library.install_aliases()  # NOQA%0A%0Aimport mock%0Aimport unittest%0A%0Afrom chainer import testing%0A%0Aimport chainerrl%0A%0A%0A@testing.parameterize(*testing.product(%7B%0A    'max_episode_steps': %5B1, 2, 3%5D,%0A%7D))%0Aclass TestContinuingTimeLimit(unittest.TestCase):%0A%0A    def test(self):%0A        env = mock.Mock()%0A        env.reset.side_effect = %5B'state'%5D * 2%0A        # Since info dicts are modified by the wapper, each step call needs to%0A        # return a new info dict.%0A        env.step.side_effect = %5B('state', 0, False, %7B%7D) for _ in range(6)%5D%0A        env = chainerrl.wrappers.ContinuingTimeLimit(%0A            env, max_episode_steps=self.max_episode_steps)%0A%0A        env.reset()%0A        for t in range(2):%0A            _, _, done, info = env.step(0)%0A            if t + 1 %3E= self.max_episode_steps:%0A                self.assertTrue(info%5B'needs_reset'%5D)%0A            else:%0A                self.assertFalse(info.get('needs_reset', False))%0A%0A        env.reset()%0A        for t in range(4):%0A            _, _, done, info = env.step(0)%0A            if t + 1 %3E= self.max_episode_steps:%0A                self.assertTrue(info%5B'needs_reset'%5D)%0A            else:%0A                self.assertFalse(info.get('needs_reset', False))%0A

Add tests for ContinuingTimeLimit