def test_create_army(self): world = World() realm = world.create_realm('Realm0', 0.1, 0.2, 0.3) army0 = world.create_army(realm) self.assertNotEqual(army0, None) self.assertEqual(army0.id, 0) self.assertEqual(army0.realm, realm) self.assertEqual(army0.size, 0) self.assertEqual(army0.province, None) self.assertEqual(len(world.armies), 1) self.assertTrue(army0 in world.armies) self.assertEqual(len(realm.armies), 1) self.assertTrue(army0 in realm.armies) army1 = world.create_army(realm) self.assertNotEqual(army1, None) self.assertEqual(army1.id, 1) self.assertEqual(army1.realm, realm) self.assertEqual(army1.size, 0) self.assertEqual(army1.province, None) self.assertEqual(len(world.armies), 2) self.assertTrue(army1 in world.armies) self.assertEqual(len(realm.armies), 2) self.assertTrue(army1 in realm.armies)
def test_create_army(self): world = World() realm = world.create_realm('Test', 1.0, 1.0, 1.0) province = Province(None, 0,0) realm.add_province(province) create0 = CreateArmy(world, realm, province, 1) create0.execute() army0 = create0.army self.assertNotEqual(army0, None) self.assertEqual(army0.realm, realm) self.assertEqual(army0.size, 1) self.assertEqual(army0.province, province) self.assertEqual(len(province.armies), 1) self.assertTrue(army0 in province.armies) self.assertEqual(len(realm.armies), 1) self.assertTrue(army0 in realm.armies) create1 = CreateArmy(world, realm, province, 10) create1.execute() army1 = create1.army self.assertNotEqual(army1, None) self.assertEqual(army1.realm, realm) self.assertEqual(army1.size, 10) self.assertEqual(army1.province, province) self.assertEqual(len(province.armies), 2) self.assertTrue(army0 in province.armies) self.assertTrue(army1 in province.armies) self.assertEqual(len(realm.armies), 2) self.assertTrue(army0 in realm.armies) self.assertTrue(army1 in realm.armies)
def test_battles(self): map = Map() map.create(None, 3, 3) world = World(map) realm0 = world.create_realm('Realm0', 1.0, 1.0, 1.0) realm1 = world.create_realm('Realm1', 1.0, 1.0, 1.0) province = map.get_province(0, 0) army0 = Army(0, realm0) army0.size = 2 army1 = Army(0, realm1) army1.size = 1 province.add_army(army0) province.add_army(army1) result = world.tick() self.assertEqual(len(result.battles), 1) battle = result.battles[0] self.assertEqual(battle.army0, army0) self.assertEqual(battle.army1, army1) self.assertEqual(army0.size, 1) self.assertEqual(army1.size, 0) self.assertEqual(army0.province, province) self.assertTrue(army0 in province.armies) self.assertEqual(army1.province, None) self.assertFalse(army1 in province.armies)
def test_actions(self): world = World() realm = world.create_realm('Realm0', 1.0, 1.0, 1.0) province = Province(None, 0,0) action0 = Action() province.action = action0 realm.add_province(province) result = world.tick() self.assertEqual(world.turn, 1) self.assertEqual(action0.count, 1) self.assertEqual(province.action, None) self.assertEqual(len(result.battles), 0) army = world.create_army(realm) army.size = 1 province.add_army(army) action1 = Action() army.action = action1 result = world.tick() self.assertEqual(world.turn, 2) self.assertEqual(action0.count, 1) self.assertEqual(action1.count, 1) self.assertEqual(army.action, None) self.assertEqual(province.action, None) self.assertEqual(len(result.battles), 0)
def test_get_realm(self): world = World() realm0 = world.create_realm('Realm0', 0.1, 0.2, 0.3) realm1 = world.create_realm('Realm1', 0.1, 0.2, 0.3) self.assertEqual(realm0, world.get_realm(0)) self.assertEqual(realm1, world.get_realm(1))
def test_invalid_index(self): world = World() realm0 = world.create_realm('Realm0', 0.1, 0.2, 0.3) realm1 = world.create_realm('Realm1', 0.1, 0.2, 0.3) self.assertEqual(None, world.get_realm(-1)) self.assertEqual(None, world.get_realm(2)) self.assertEqual(None, world.get_realm(None))
def test_create_realm(self): world = World() realm0 = world.create_realm('Realm0', 0.1, 0.2, 0.3) self.assertNotEqual(realm0, None) self.assertEqual(realm0.id, 0) self.assertEqual(realm0.name, 'Realm0') self.assertEqual(realm0.color.get_r(), 0.1) self.assertEqual(realm0.color.get_g(), 0.2) self.assertEqual(realm0.color.get_b(), 0.3) self.assertEqual(len(world.realms), 1) self.assertTrue(realm0 in world.realms) realm1 = world.create_realm('Realm1', 0.3, 0.2, 0.1) self.assertNotEqual(realm1, None) self.assertEqual(realm1.id, 1) self.assertEqual(realm1.name, 'Realm1') self.assertEqual(realm1.color.get_r(), 0.3) self.assertEqual(realm1.color.get_g(), 0.2) self.assertEqual(realm1.color.get_b(), 0.1) self.assertEqual(len(world.realms), 2) self.assertTrue(realm1 in world.realms)
selected_province = None moved_army = None realm = None realm_index = 0 if __name__ == '__main__': window = pyglet.window.Window(800, 600, 'PyRealm 01') terrain0 = Terrain("Plain", Color(0.0, 1.0, 0.0)) gamemap = Map() gamemap.create(terrain0, 3, 3) world = World(gamemap) realm0 = world.create_realm('Askir', 1.0, 0.0, 0.0) realm0.add_province(gamemap.get_province(2, 2)) realm1 = world.create_realm('Thalak', 0.0, 0.0, 1.0) realm1.add_province(gamemap.get_province(0, 0)) realm = realm0 print('Realm={0:s}:'.format(realm.name)) view = MapView(gamemap, 50.0, 5.0, 5.0, 15.0) @window.event def on_draw(): window.clear() glLoadIdentity() view.draw()