code: def testScoreByCategory(self, entry_name):
      self._builder.score_by_category(
          entry_name,
          none=10,
          army=1200,
          economy=400,
          technology=100,
          upgrade=200,
      )
  
      response_observation = self._builder.build()
      obs = response_observation.observation
      entry = getattr(obs.score.score_details, entry_name)
      self.assertEqual(entry.none, 10)
      self.assertEqual(entry.army, 1200)
      self.assertEqual(entry.economy, 400)
      self.assertEqual(entry.technology, 100)
      self.assertEqual(entry.upgrade, 200)
  
      # Check the transform_obs does what we expect, too.
      transformed_obs = self._features.transform_obs(
          response_observation
      )
      transformed_entry = getattr(
          transformed_obs.score_by_category, entry_name
      )
      self.assertEqual(transformed_entry.none, 10)
      self.assertEqual(transformed_entry.army, 1200)
      self.assertEqual(transformed_entry.economy, 400)
      self.assertEqual(transformed_entry.technology, 100)
      self.assertEqual(transformed_entry.upgrade, 200)
  
imports: from absl.testing import absltest
  from absl.testing import parameterized
  import numpy
  from pysc2.lib import actions
  from pysc2.lib import features
  from pysc2.lib import point
  from pysc2.lib import units
  from pysc2.tests import dummy_observation
  from s2clientprotocol import common_pb2
label_desc: Use image node_id 10 for calling the DummyObservationTest obj's underlying member method code with example usage: obj.testScoreByCategory(entry_name) without return types