def test_get_unit_status_distribution(self): dungeon_model = self._get_dungeon_model() with LogCapture(): logger = logging.getLogger() dungeon = Dungeon(dungeon=dungeon_model, announcer={}, log=logger) """ living hostile player """ unit_generator = UnitGenerator() living_player = unit_generator.generate(is_player=True, combat_status="hostile") dungeon.add_unit(living_player) """ dead friendly NPC """ dead_friendly_unit = unit_generator.generate(combat_status="friendly") dead_friendly_unit.kill() dungeon.add_unit(dead_friendly_unit) """ living friendly NPC """ living_npc = unit_generator.generate(combat_status="friendly") dungeon.add_unit(living_npc) """ living hostile NPC """ hostile_living_npc = unit_generator.generate(combat_status="hostile") dungeon.add_unit(hostile_living_npc) # TODO: add undead here actual = dungeon.get_unit_status_distribution() expected = { "players": { "living": 1, "dead": 0, "undead": 0 }, "npc": { "hostile": { "living": 1, "dead": 0, "undead": 0 }, "friendly": { "living": 1, "dead": 1, "undead": 0 } } } self.assertEqual(expected, actual)