Ejemplo n.º 1
0
    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()
Ejemplo n.º 2
0
    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)
Ejemplo n.º 3
0
    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)
Ejemplo n.º 4
0
    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()
Ejemplo n.º 5
0
    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)
Ejemplo n.º 6
0
    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)
Ejemplo n.º 7
0
    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)
Ejemplo n.º 8
0
    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))
Ejemplo n.º 9
0
    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)
Ejemplo n.º 10
0
    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