Ejemplo n.º 1
0
    def test_max_speculation(self):
        """
		Can't speculate more than influence
		"""
        self.p.influence.level = 1
        self.p.influence.save()

        o = CorporationSpeculationOrder(player=self.p,
                                        corporation=self.c2,
                                        rank=1,
                                        investment=5)
        o.save()

        o2 = CorporationSpeculationOrder(player=self.p,
                                         corporation=self.c2,
                                         rank=1,
                                         investment=5)
        self.assertRaises(OrderNotAvailable, o2.clean)

        dso = DerivativeSpeculationOrder(
            player=self.p,
            speculation=DerivativeSpeculationOrder.UP,
            investment=DerivativeSpeculationOrder.MAX_AMOUNT_SPECULATION + 1)
        self.assertRaises(OrderNotAvailable, dso.clean)

        self.p.influence.level = 2
        self.p.influence.save()

        # assertNoRaises
        o2.clean()
Ejemplo n.º 2
0
	def test_mdc_DERE_line_negative_effect(self):
		"""
		Test what happens when the DERE party line is chosen for detractors
		"""

		self.set_turn_line(MDCVoteOrder.BANK, MDCVoteOrder.DERE, MDCVoteOrder.DERE)
		self.g.resolve_current_turn()

		# Player 1 has voted BANK, so he shouldn't be able to speculate
		o = CorporationSpeculationOrder(
			player=self.p,
			corporation=self.c3,
			rank=1,
			investment=5
		)
		self.assertRaises(OrderNotAvailable, o.clean)

		# Check that player 3 still can
		o2 = CorporationSpeculationOrder(
			player=self.p3,
			corporation=self.c3,
			rank=1,
			investment=5
		)
		o2.clean()
Ejemplo n.º 3
0
	def test_mdc_BANK_line_negative_effect(self):
		"""
		Test what happens when BANK party line is chosen to people who voted deregulation
		"""

		self.set_turn_line(MDCVoteOrder.BANK, MDCVoteOrder.BANK, MDCVoteOrder.DERE)
		self.g.resolve_current_turn()

		# Player 3 has voted DERE, so he shouldn't be able to speculate
		o = CorporationSpeculationOrder(
			player=self.p3,
			corporation=self.c3,
			rank=1,
			investment=1
		)
		self.assertRaises(OrderNotAvailable, o.clean)

		# Check that player 1 still can
		o2 = CorporationSpeculationOrder(
			player=self.p,
			corporation=self.c3,
			rank=1,
			investment=1
		)
		o2.clean()
Ejemplo n.º 4
0
	def test_max_speculation(self):
		"""
		Can't speculate more than influence
		"""
		self.p.influence.level = 1
		self.p.influence.save()

		o = CorporationSpeculationOrder(
			player=self.p,
			corporation=self.c2,
			rank=1,
			investment=5
		)
		o.save()

		o2 = CorporationSpeculationOrder(
			player=self.p,
			corporation=self.c2,
			rank=1,
			investment=5
		)
		self.assertRaises(OrderNotAvailable, o2.clean)

		dso = DerivativeSpeculationOrder(
			player=self.p,
			speculation=DerivativeSpeculationOrder.UP,
			investment=DerivativeSpeculationOrder.MAX_AMOUNT_SPECULATION + 1
		)
		self.assertRaises(OrderNotAvailable, dso.clean)

		self.p.influence.level = 2
		self.p.influence.save()

		# assertNoRaises
		o2.clean()
Ejemplo n.º 5
0
    def test_max_corporation_speculation_amount_in_single_instance(self):
        """
		Can't speculate more than influence * MAX_AMOUNT_SPECULATION
		"""
        o = CorporationSpeculationOrder(
            player=self.p,
            corporation=self.c2,
            rank=1,
            investment=self.p.influence.level * CorporationSpeculationOrder.MAX_AMOUNT_SPECULATION + 1,
        )
        self.assertRaises(OrderNotAvailable, o.clean)

        influence = self.p.influence
        influence.level = 2
        influence.save()

        # assertNoRaises
        o.clean()
Ejemplo n.º 6
0
    def test_max_corporation_speculation_amount(self):
        """
		can't speculate more than influence * MAX_AMOUNT_SPECULATION
		"""
        self.p.influence.level = 1
        self.p.influence.save()

        o = CorporationSpeculationOrder(
            player=self.p,
            corporation=self.c2,
            rank=1,
            investment=self.p.influence.level *
            CorporationSpeculationOrder.MAX_AMOUNT_SPECULATION + 1)
        self.assertRaises(OrderNotAvailable, o.clean)

        self.p.influence.level = 2
        self.p.influence.save()

        #assertNoRaises
        o.clean()
Ejemplo n.º 7
0
    def test_max_corporation_speculation_amount_in_multiple_instance(self):
        """
		Can't speculate more than influence * MAX_AMOUNT_SPECULATION, even with many speculations
		"""
        o = CorporationSpeculationOrder(
            player=self.p,
            corporation=self.c2,
            rank=1,
            investment=self.p.influence.level * CorporationSpeculationOrder.MAX_AMOUNT_SPECULATION / 2 + 1,
        )
        # assertNoRaises
        o.clean()
        o.save()

        o2 = CorporationSpeculationOrder(
            player=self.p,
            corporation=self.c2,
            rank=1,
            investment=self.p.influence.level * CorporationSpeculationOrder.MAX_AMOUNT_SPECULATION / 2,
        )
        self.assertRaises(OrderNotAvailable, o2.clean)
Ejemplo n.º 8
0
    def test_mdc_DERE_line_negative_effect(self):
        """
		Test what happens when the DERE party line is chosen for detractors
		"""

        self.set_turn_line(MDCVoteOrder.BANK, MDCVoteOrder.DERE,
                           MDCVoteOrder.DERE)
        self.g.resolve_current_turn()

        # Player 1 has voted BANK, so he shouldn't be able to speculate
        o = CorporationSpeculationOrder(player=self.p,
                                        corporation=self.c3,
                                        rank=1,
                                        investment=5)
        self.assertRaises(OrderNotAvailable, o.clean)

        # Check that player 3 still can
        o2 = CorporationSpeculationOrder(player=self.p3,
                                         corporation=self.c3,
                                         rank=1,
                                         investment=5)
        o2.clean()
Ejemplo n.º 9
0
    def test_mdc_BANK_line_negative_effect(self):
        """
		Test what happens when BANK party line is chosen to people who voted deregulation
		"""

        self.set_turn_line(MDCVoteOrder.BANK, MDCVoteOrder.BANK,
                           MDCVoteOrder.DERE)
        self.g.resolve_current_turn()

        # Player 3 has voted DERE, so he shouldn't be able to speculate
        o = CorporationSpeculationOrder(player=self.p3,
                                        corporation=self.c3,
                                        rank=1,
                                        investment=1)
        self.assertRaises(OrderNotAvailable, o.clean)

        # Check that player 1 still can
        o2 = CorporationSpeculationOrder(player=self.p,
                                         corporation=self.c3,
                                         rank=1,
                                         investment=1)
        o2.clean()