def test_not_neighbour(self): realm = Realm() army = Army(0, realm) province = Province(None, 1, 1) province.add_army(army) self.assertFalse(can_move_army(realm, army, Province(None, 0, 0))) self.assertFalse(can_move_army(realm, army, Province(None, 0, 2))) self.assertFalse(can_move_army(realm, army, Province(None, 3, 2))) self.assertFalse(can_move_army(realm, army, Province(None, 3, 0)))
def test_invalid_army(self): realm = Realm() army = Army(0, realm) province = Province(None, 1, 1) self.assertRaises(AssertionError, can_move_army, realm, None, province) self.assertFalse(can_move_army(realm, army, province))
def test_wrong_realm(self): realm0 = Realm() realm1 = Realm() army = Army(0, realm0) province = Province(None, 1, 1) province.add_army(army) self.assertFalse(can_move_army(realm1, army, Province(None, 2, 1)))
def on_mouse_release(x, y, button, modifiers): global realm, selected_army, selected_province, moved_army selected_army = None selected_province = None selection = view.get_province(x, y) if isinstance(selection, Province) and moved_army: if can_move_army(realm, moved_army, selection): moved_army.action = MoveArmy(realm, moved_army, selection) elif isinstance(selection, Province): selected_province = selection print('Province({0:d},{1:d}): Realm={2:s} Armies={3:d}'.format(selected_province.x, selected_province.y, selected_province.realm.name if selected_province.realm else 'None', len(selected_province.armies))) elif isinstance(selection, Army): selected_army = selection print('Army: Id={0:d} Realm={1:s} Size={2:d}'.format(selected_army.id, selected_army.realm.name, selected_army.size))
def test_can_move_army(self): realm = Realm() army = Army(0, realm) province0 = Province(None, 1, 1) province0.add_army(army) self.assertTrue(can_move_army(realm, army, Province(None, 2, 1))) self.assertTrue(can_move_army(realm, army, Province(None, 2, 2))) self.assertTrue(can_move_army(realm, army, Province(None, 1, 2))) self.assertTrue(can_move_army(realm, army, Province(None, 0, 1))) self.assertTrue(can_move_army(realm, army, Province(None, 1, 0))) self.assertTrue(can_move_army(realm, army, Province(None, 2, 0))) province0.remove_army(army) province1 = Province(None, 1, 2) province1.add_army(army) self.assertTrue(can_move_army(realm, army, Province(None, 2, 2))) self.assertTrue(can_move_army(realm, army, Province(None, 1, 3))) self.assertTrue(can_move_army(realm, army, Province(None, 0, 3))) self.assertTrue(can_move_army(realm, army, Province(None, 0, 2))) self.assertTrue(can_move_army(realm, army, Province(None, 0, 1))) self.assertTrue(can_move_army(realm, army, Province(None, 1, 1)))