code: def testStopping(self):
      for angle in [0.0, 90.0, 180.0, -90]:
          self._controller.look_at_2d(0.0)
          move_forward_action = self._controller._get_actions(
              game_controller._MOVE_ACTION_NAME, 1
          )
          for _ in six.moves.range(10):
              self._env.step(move_forward_action, 1)
          self._controller.look_at_2d(angle)
          num_steps_before_stopping = self._env.num_steps()
          self._controller.stop()
          num_steps_after_stopping = self._env.num_steps()
          self.assertLess(
              num_steps_after_stopping - num_steps_before_stopping, 15
          )
          delta = math_utils.delta_angle_degrees(
              self._controller.orientation[1], angle
          )
          self.assertLess(
              abs(delta), game_controller.ROTATION_TOLERANCE
          )
  
imports: from __future__ import absolute_import
  from __future__ import division
  from __future__ import print_function
  import os
  from absl.testing import absltest
  import numpy
  import six
  import deepmind_lab
  from python.tests.utils import game_controller
  from python.tests.utils import math_utils
  from python.tests.utils import test_environment_decorator
label_desc: Use image node_id 4 for calling the GameControllerTest obj's underlying member method code with example usage: obj.testStopping() without return types