code: def test_pos(self):
      self.create_unit(
          unit_type=units.Protoss.Archon, owner=1, pos=(20, 30)
      )
      self.create_unit(
          unit_type=units.Protoss.Observer, owner=1, pos=(40, 30)
      )
  
      self.step()
      obs = self.observe()
  
      archon = utils.get_unit(obs[0], unit_type=units.Protoss.Archon)
      observer = utils.get_unit(
          obs[0], unit_type=units.Protoss.Observer
      )
  
      self.assert_point(archon.pos, (20, 30))
      self.assert_point(observer.pos, (40, 30))
      self.assertLess(
          archon.pos.z, observer.pos.z
      )  # The observer flies.
      self.assertGreater(archon.radius, observer.radius)
  
      # Move them towards the center, make sure they move.
      self.raw_unit_command(
          0, "Move_screen", (archon.tag, observer.tag), (30, 25)
      )
  
      self.step(40)
      obs2 = self.observe()
  
      archon2 = utils.get_unit(obs2[0], unit_type=units.Protoss.Archon)
      observer2 = utils.get_unit(
          obs2[0], unit_type=units.Protoss.Observer
      )
  
      self.assertGreater(archon2.pos.x, 20)
      self.assertLess(observer2.pos.x, 40)
      self.assertLess(archon2.pos.z, observer2.pos.z)
  
file_path: pysc2/pysc2/tests/obs_test.py
imports: from absl.testing import absltest
  from pysc2.lib import actions
  from pysc2.lib import buffs
  from pysc2.lib import features
  from pysc2.lib import units
  from pysc2.tests import utils
  from s2clientprotocol import debug_pb2
  from s2clientprotocol import raw_pb2
label_desc: Use image node_id 4 for calling the ObsTest obj's underlying member method code with example usage: obj.test_pos() without return types