class_docstr: Tests that run through a game, then verify it still works in a replay.
docstr: Issue a raw unit command.
docstr_tok: ["Issue","a","raw","unit","command","."]
code: def raw_unit_command(
      self, player, ability_id, unit_tags, pos=None, target=None
  ):
      """Issue a raw unit command."""
      if isinstance(ability_id, str):
          ability_id = actions.FUNCTIONS[ability_id].ability_id
      action = sc_pb.Action()
      cmd = action.action_raw.unit_command
      cmd.ability_id = ability_id
      if isinstance(unit_tags, (list, tuple)):
          cmd.unit_tags.extend(unit_tags)
      else:
          cmd.unit_tags.append(unit_tags)
      if pos:
          cmd.target_world_space_pos.x = pos[0]
          cmd.target_world_space_pos.y = pos[1]
      elif target:
          cmd.target_unit_tag = target
      response = self._controllers[player].act(
          action
      )  # pytype: disable=attribute-error
      for result in response.result:
          self.assertEqual(result, sc_error.Success)
  
imports: import functools
  from absl import logging
  from absl.testing import absltest
  from pysc2 import maps
  from pysc2 import run_configs
  from pysc2.lib import actions
  from pysc2.lib import features
  from pysc2.lib import point
  from pysc2.lib import portspicker
  from pysc2.lib import run_parallel
  from pysc2.lib import stopwatch
  from s2clientprotocol import common_pb2
  from s2clientprotocol import debug_pb2
  from s2clientprotocol import error_pb2
  from s2clientprotocol import raw_pb2
  from s2clientprotocol import sc2api_pb2
label_desc: Use image node_id 8 for calling the GameReplayTestCase obj's underlying member method code with example usage: obj.raw_unit_command(player, ability_id, unit_tags, pos, target) without return types