コード例 #1
0
ファイル: test_governor.py プロジェクト: heckj/om
class TestGameState(unittest.TestCase):
    def setUp(self):
        self.gamestate = GameState()
        self.gamestate.reset()

    def test_get_ship(self):
        self.assertIsNone(self.gamestate.get_ship(None))

        self.assertEqual(len(self.gamestate.actors), 0)
        ship_ref = self.gamestate.create_ship()
        another_ref = self.gamestate.get_ship(ship_ref.uuid)
        self.assertEqual(ship_ref, another_ref)

    def test_create_ship(self):
        self.assertEqual(len(self.gamestate.actors), 0)
        ship_ref = self.gamestate.create_ship()
        self.assertIsNotNone(ship_ref)
        self.assertEqual(len(self.gamestate.actors), 1)

    def test_clear(self):
        self.assertEqual(len(self.gamestate.actors), 0)
        self.gamestate.create_ship()
        self.assertEqual(len(self.gamestate.actors), 1)
        self.gamestate.reset()
        self.assertEqual(len(self.gamestate.actors), 0)

    def test_add_actor(self):
        thing1 = gameobjects.ActiveObject()
        thing2 = gameobjects.ActiveObject()
        self.gamestate._add_actor(thing1)
        self.gamestate._add_actor(thing2)
        self.assertEqual(len(self.gamestate.actors), 2)

    def test_save_and_load(self):
        thing1 = gameobjects.ActiveObject()
        thing2 = gameobjects.ActiveObject()
        self.gamestate._add_actor(thing1)
        self.gamestate._add_actor(thing2)

        self.gamestate.save_state('test_data')
        self.gamestate.load_state('test_data')
        self.assertEqual(len(self.gamestate.actors), 2)
        os.unlink('test_data')

    def test_load_sample(self):
        self.gamestate.load_state('sample_data.json')
        self.assertEqual(len(self.gamestate.actors), 2)
        self.assertIn('abc123', self.gamestate.actors)
        self.assertIn('xyz879', self.gamestate.actors)
        self.assertEqual(len(self.gamestate.planets), 4)

    def test_list_planets(self):
        self.gamestate.load_state('sample_data.json')
        self.assertEqual(len(self.gamestate.planets), 4)
        planet_list = self.gamestate.planet_list()
        self.assertIsNotNone(planet_list)
        self.assertEquals(len(planet_list), 4)