code: def test_action_smart_unit(self):
      cvr = converter.Converter(
          settings=_make_converter_settings("raw"),
          environment_info=_make_dummy_env_info(),
      )
  
      raw_smart_unit = {
          "delay": 31,
          "function": 1,
          "queued": 0,
          "repeat": 0,
          "unit_tags": [4],
          "world": 5,
      }
      action = cvr.convert_action(raw_smart_unit)
  
      expected = converter_pb2.Action(
          delay=31,
          request_action=sc2api_pb2.RequestAction(
              actions=[
                  sc2api_pb2.Action(
                      action_raw=raw_pb2.ActionRaw(
                          unit_command=raw_pb2.ActionRawUnitCommand(
                              ability_id=1,
                              unit_tags=(4,),
                              queue_command=False,
                              target_world_space_pos=common_pb2.Point2D(
                                  x=5.5, y=127.5
                              ),
                          )
                      )
                  )
              ]
          ),
      )
  
      self.assertEqual(
          expected.SerializeToString(), action.SerializeToString()
      )
  
imports: from absl.testing import absltest
  from absl.testing import parameterized
  import numpy
  from pysc2.env.converter import converter
  from pysc2.env.converter.proto import converter_pb2
  from s2clientprotocol import common_pb2
  from s2clientprotocol import raw_pb2
  from s2clientprotocol import sc2api_pb2
  from s2clientprotocol import spatial_pb2
label_desc: Use image node_id 3 for calling the RawConverterTest obj's underlying member method code with example usage: obj.test_action_smart_unit() without return types