def setUp(self): """ p is top shareholder in c, p2 is top shareholder in c2, p3 is top shareholder in c3, """ super(MDCPartyLineTest, self).setUp() self.p2 = Player(game=self.g) self.p2.save() self.p3 = Player(game=self.g, ) self.p3.save() self.s = Share(corporation=self.c, player=self.p, turn=self.g.current_turn) self.s.save() self.s2 = Share(corporation=self.c2, player=self.p2, turn=self.g.current_turn) self.s2.save() self.s3 = Share(corporation=self.c3, player=self.p3, turn=self.g.current_turn) self.s3.save()
def setUp(self): super(WiretransterOrderTest, self).setUp() self.p2 = Player(game=self.g, money=self.initial_money) self.p2.save() self.wo = WiretransferOrder(player=self.p, recipient=self.p2, amount=1)
def setUp(self): super(InformationRunOrderTest, self).setUp() self.p2 = Player(game=self.g, secrets="Some nasty sfuff") self.p2.save() self.p2.citizenship.corporation = self.c self.p2.citizenship.save() from engine_modules.influence.models import BuyInfluenceOrder # Initial setup, create a resolution sheet we'll use later. o = BuyInfluenceOrder(player=self.p2) o.save() self.g.resolve_current_turn() self.io = InformationOrder( target=self.p2, player=self.p, additional_percents=0, ) self.io.clean() self.io.save() self.set_to_zero(self.io.target.citizenship.corporation)
def setUp(self): super(TaskTest, self).setUp() self.p2 = Player(game=self.g) self.p2.save() self.v = MDCVoteOrder(player=self.p, coalition=MDCVoteOrder.DERE) self.v.save()
def test_wiretransfer_run_cant_send_more_than_available(self): """ Check you can't send more money than you have right now """ p2 = Player(game=self.g) p2.save() o = WiretransferOrder(player=self.p, recipient=p2, amount=self.p.money + 1) self.assertRaises(OrderNotAvailable, o.clean)
def test_game_add_newsfeed(self): """ Check add_newsfeed on Game """ u = User(username="******", email="*****@*****.**") u.save() p2 = Player(user=u, game=self.g, name="hahaha") p2.save() self.assertEqual(Newsfeed.objects.count(), 0) self.g.add_newsfeed(category=Newsfeed.MDC_REPORT, content="something") self.assertEqual(Newsfeed.objects.count(), 1)
def test_game_no_two_players_from_same_user_in_game(self): """ Check if a user can't have 2 players in the same game """ u = User(username="******", email="*****@*****.**") u.save() self.p.user = u self.p.save() p2 = Player(user=u, game=self.g) self.assertRaises(IntegrityError, p2.save)
def test_message_author_game_equals_player_game(self): """ Check if author's game = player's game """ p2 = Player(game=self.g) p2.save() g2 = Game() g2.save() p3 = Player(game=g2) p3.save() m = Message(title="titre", author=self.p, turn=self.g.current_turn) m.save() m.recipient_set.add(p2) m.save() m2 = Message(title="titre1", author=self.p, turn=self.g.current_turn) m2.save() self.assertRaises(IntegrityError, lambda: m2.recipient_set.add(p3))
def test_equality_case(self): """ Test when two players have the same amount of shares """ s = Share( corporation=self.c, player=self.p, ) s.save() p2 = Player(game=self.g) p2.save() s2 = Share( corporation=self.c, player=p2, ) s2.save() self.assertEqual(self.v.get_weight(), 1)
def setUp(self): """ Setup initial configuration. For faster tests, remove all BaseCorporation to avoid creating useless fixtures. """ # Create a Game, without creating all default base corporations from engine_modules.corporation.models import Corporation, BaseCorporation original_base_corporations = BaseCorporation.base_corporations BaseCorporation.base_corporations = {} try: self.g = Game() # Disable all side effects for the game (first and last effects, invisible hand) self.g.disable_side_effects = True self.g.save() except: raise finally: BaseCorporation.base_corporations = original_base_corporations # Create base corporations self.c = Corporation(base_corporation_slug='shiawase', assets=10) self.c2 = Corporation(base_corporation_slug='renraku', assets=10) self.c3 = Corporation(base_corporation_slug='ares', assets=10) self.g.corporation_set.add(self.c, self.c2, self.c3) self.initial_money = Player._meta.get_field_by_name('money')[0].default self.p = Player(game=self.g, money=self.initial_money) self.p.save() # TODO: move to another place, in engine_modules/runs # TODO : add test for 90% restriction from engine_modules.run.models import RunOrder RunOrder.MAX_PERCENTS = 100 from engine_modules.corporation_run.models import ProtectionOrder ProtectionOrder.MAX_PERCENTS = 100