Ejemplo n.º 1
0
    def test_coalition_newsfeed(self):
        """
		Newsfeeds describes everything.
		"""
        self.p.name = "p1"
        self.p.save()
        self.p2.name = "p2"
        self.p2.save()

        v2 = MDCVoteOrder(player=self.p2, coalition=MDCVoteOrder.BANK)
        v2.save()

        # Give priority to player 1
        s = Share(corporation=self.c, player=self.p, turn=self.g.current_turn)
        s.save()
        s2 = Share(corporation=self.c2,
                   player=self.p,
                   turn=self.g.current_turn)
        s2.save()

        self.g.resolve_current_turn()

        ns = Newsfeed.objects.last().content
        self.assertIn(self.p.name, ns)
        self.assertIn(self.p2.name, ns)
        self.assertIn(s.corporation.base_corporation.name, ns)
        self.assertIn(s2.corporation.base_corporation.name, ns)
        self.assertIn(self.v.get_coalition_display(), ns)
        self.assertIn(v2.get_coalition_display(), ns)
        self.assertIn("3 voix", ns)
        self.assertIn("1 voix", ns)
Ejemplo n.º 2
0
	def test_coalition_newsfeed(self):
		"""
		Newsfeeds describes everything.
		"""
		self.p.name = "p1"
		self.p.save()
		self.p2.name = "p2"
		self.p2.save()

		v2 = MDCVoteOrder(
			player=self.p2,
			coalition=MDCVoteOrder.BANK
		)
		v2.save()

		# Give priority to player 1
		s = Share(corporation=self.c, player=self.p, turn=self.g.current_turn)
		s.save()
		s2 = Share(corporation=self.c2, player=self.p, turn=self.g.current_turn)
		s2.save()

		self.g.resolve_current_turn()

		ns = Newsfeed.objects.last().content
		self.assertIn(self.p.name, ns)
		self.assertIn(self.p2.name, ns)
		self.assertIn(s.corporation.base_corporation.name, ns)
		self.assertIn(s2.corporation.base_corporation.name, ns)
		self.assertIn(self.v.get_coalition_display(), ns)
		self.assertIn(v2.get_coalition_display(), ns)
		self.assertIn("3 voix", ns)
		self.assertIn("1 voix", ns)
Ejemplo n.º 3
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.º 4
0
	def setUp(self):
		super(ModelsTest, self).setUp()

		self.v = MDCVoteOrder(
			player=self.p,
			coalition=MDCVoteOrder.DERE
		)
		self.v.clean()
		self.v.save()
Ejemplo n.º 5
0
	def test_get_form_forbids_none_value(self):
		self.v.delete()

		instance = MDCVoteOrder(player=self.p)

		form = instance.get_form({'coalition': MDCVoteOrder.DERE, 'player': self.p})
		self.assertTrue(form.is_valid())

		form = instance.get_form({'coalition': None, 'player': self.p})
		self.assertFalse(form.is_valid())
Ejemplo n.º 6
0
    def test_equality_no_coalition(self):
        """
		When an equality occurs, no line is set
		"""
        self.v2 = MDCVoteOrder(player=self.p2, coalition=MDCVoteOrder.DEVE)
        self.v2.save()

        self.g.resolve_current_turn()

        mdc_vote_session = (self.g.mdcvotesession_set.get(
            turn=self.g.current_turn))
        self.assertEqual(mdc_vote_session.coalition, None)
Ejemplo n.º 7
0
    def test_get_form_forbids_none_value(self):
        self.v.delete()

        instance = MDCVoteOrder(player=self.p)

        form = instance.get_form({
            'coalition': MDCVoteOrder.DERE,
            'player': self.p
        })
        self.assertTrue(form.is_valid())

        form = instance.get_form({'coalition': None, 'player': self.p})
        self.assertFalse(form.is_valid())
Ejemplo n.º 8
0
    def test_coalition_resolution_message(self):
        """
		Beneficiary and victims get a note in resolution message
		"""
        v2 = MDCVoteOrder(player=self.p2, coalition=MDCVoteOrder.BANK)
        v2.save()

        # Give priority to player 1
        Share(corporation=self.c, player=self.p,
              turn=self.g.current_turn).save()

        self.g.resolve_current_turn()

        self.assertIn("MDC a suivi", self.p.message_set.get().content)
        self.assertIn(u"MDC a rejoint la coalition opposée",
                      self.p2.message_set.get().content)
Ejemplo n.º 9
0
	def test_coalition_resolution_message(self):
		"""
		Beneficiary and victims get a note in resolution message
		"""
		v2 = MDCVoteOrder(
			player=self.p2,
			coalition=MDCVoteOrder.BANK
		)
		v2.save()

		# Give priority to player 1
		Share(corporation=self.c, player=self.p, turn=self.g.current_turn).save()

		self.g.resolve_current_turn()

		self.assertIn("MDC a suivi", self.p.message_set.get().content)
		self.assertIn(u"MDC a rejoint la coalition opposée", self.p2.message_set.get().content)
Ejemplo n.º 10
0
	def setUp(self):
		super(OrdersTest, self).setUp()

		self.v = MDCVoteOrder(
			player=self.p,
			coalition=MDCVoteOrder.DERE
		)
		self.v.save()
Ejemplo n.º 11
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.º 12
0
	def test_equality_no_coalition(self):
		"""
		When an equality occurs, no line is set
		"""
		self.v2 = MDCVoteOrder(
			player=self.p2,
			coalition=MDCVoteOrder.DEVE
		)
		self.v2.save()

		self.g.resolve_current_turn()

		mdc_vote_session = (self.g.mdcvotesession_set.get(turn=self.g.current_turn))
		self.assertEqual(mdc_vote_session.coalition, None)
Ejemplo n.º 13
0
class ModelsTest(EngineTestCase):
	def setUp(self):
		super(ModelsTest, self).setUp()

		self.v = MDCVoteOrder(
			player=self.p,
			coalition=MDCVoteOrder.DERE
		)
		self.v.clean()
		self.v.save()

	def test_player_get_last_mdc_vote(self):
		"""
		Get last mdc vote should return vote order
		"""

		self.assertIsNone(self.p.get_last_mdc_vote())
		self.g.resolve_current_turn()
		self.assertEqual(self.v, self.p.get_last_mdc_vote())

	def test_player_get_last_mdc_coalition(self):
		"""
		Get last mdc coalition should return coalition
		"""
		self.assertIsNone(self.p.get_last_mdc_coalition())
		self.g.resolve_current_turn()
		self.assertEqual(self.v.coalition, self.p.get_last_mdc_coalition())

	def test_game_get_mdc_coalition(self):
		"""
		Get mdc coalition should return coalition from specified turn
		"""
		self.g.resolve_current_turn()
		self.g.resolve_current_turn()
		self.assertIsNone(self.g.get_mdc_coalition())
		self.assertEqual(self.g.get_mdc_coalition(turn=self.g.current_turn - 1), self.v.coalition)
Ejemplo n.º 14
0
	def test_one_vote(self):
		"""
		Can't vote more than once
		"""
		v = MDCVoteOrder(
			player=self.p,
		)
		v.clean()
		v.save()

		v2 = MDCVoteOrder(
			player=self.p,
		)
		self.assertRaises(OrderNotAvailable, v2.clean)
Ejemplo n.º 15
0
	def set_turn_line(self, L1, L2, L3):
		"""
		A little helper to set the Line each player has voted for this turn
		"""

		v = MDCVoteOrder(
			player=self.p,
			coalition=L1
		)
		v.save()

		v2 = MDCVoteOrder(
			player=self.p2,
			coalition=L2
		)
		v2.save()

		v3 = MDCVoteOrder(
			player=self.p3,
			coalition=L3
		)
		v3.save()
Ejemplo n.º 16
0
    def set_turn_line(self, L1, L2, L3):
        """
		A little helper to set the Line each player has voted for this turn
		"""

        v = MDCVoteOrder(player=self.p, coalition=L1)
        v.save()

        v2 = MDCVoteOrder(player=self.p2, coalition=L2)
        v2.save()

        v3 = MDCVoteOrder(player=self.p3, coalition=L3)
        v3.save()
Ejemplo n.º 17
0
class OrdersTest(EngineTestCase):
    def setUp(self):
        super(OrdersTest, self).setUp()

        self.v = MDCVoteOrder(player=self.p, coalition=MDCVoteOrder.DERE)
        self.v.save()

    def test_not_top_holder(self):
        """
		Test that your vote counts for 1 when you're not top holder
		"""
        self.assertEqual(self.v.get_weight(), 1)
        self.assertEqual(self.v.get_friendly_corporations(), [])

    def test_one_top_holder(self):
        """
		Test that a top holder's vote is correctly weighed
		"""
        s = Share(corporation=self.c, player=self.p, turn=self.g.current_turn)
        s.save()

        self.assertEqual(self.v.get_weight(), 2)
        self.assertEqual(self.v.get_friendly_corporations(), [self.c])

    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 test_top_holder_two_corporations(self):
        """
		Test when a player is the top holder in two corporations
		"""
        s = Share(
            corporation=self.c,
            player=self.p,
        )
        s.save()

        s2 = Share(
            corporation=self.c2,
            player=self.p,
        )
        s2.save()

        self.assertEqual(self.v.get_weight(), 3)
        self.assertItemsEqual(self.v.get_friendly_corporations(),
                              [self.c, self.c2])

    def test_mdc_coalition(self):
        """
		Check party line is returned correctly
		"""
        self.assertIsNone(self.g.get_mdc_coalition())

        self.g.resolve_current_turn()

        self.assertEqual(self.g.get_mdc_coalition(), self.v.coalition)

    def test_get_last_mdv_vote(self):
        """
		Check player last vote is returned correctly
		"""
        self.assertIsNone(self.p.get_last_mdc_coalition())

        self.g.resolve_current_turn()

        self.assertEqual(self.p.get_last_mdc_coalition(), self.v.coalition)

    def test_get_form_forbids_none_value(self):
        self.v.delete()

        instance = MDCVoteOrder(player=self.p)

        form = instance.get_form({
            'coalition': MDCVoteOrder.DERE,
            'player': self.p
        })
        self.assertTrue(form.is_valid())

        form = instance.get_form({'coalition': None, 'player': self.p})
        self.assertFalse(form.is_valid())
Ejemplo n.º 18
0
class TaskTest(EngineTestCase):
    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_coalition_set(self):
        """
		Test the line is defined
		"""
        self.g.resolve_current_turn()

        mdc_vote_session = self.g.mdcvotesession_set.get(
            turn=self.g.current_turn)
        self.assertEqual(mdc_vote_session.coalition, self.v.coalition)

    def test_equality_no_coalition(self):
        """
		When an equality occurs, no line is set
		"""
        self.v2 = MDCVoteOrder(player=self.p2, coalition=MDCVoteOrder.DEVE)
        self.v2.save()

        self.g.resolve_current_turn()

        mdc_vote_session = (self.g.mdcvotesession_set.get(
            turn=self.g.current_turn))
        self.assertEqual(mdc_vote_session.coalition, None)

    def test_coalition_resolution_message(self):
        """
		Beneficiary and victims get a note in resolution message
		"""
        v2 = MDCVoteOrder(player=self.p2, coalition=MDCVoteOrder.BANK)
        v2.save()

        # Give priority to player 1
        Share(corporation=self.c, player=self.p,
              turn=self.g.current_turn).save()

        self.g.resolve_current_turn()

        self.assertIn("MDC a suivi", self.p.message_set.get().content)
        self.assertIn(u"MDC a rejoint la coalition opposée",
                      self.p2.message_set.get().content)

    def test_coalition_newsfeed(self):
        """
		Newsfeeds describes everything.
		"""
        self.p.name = "p1"
        self.p.save()
        self.p2.name = "p2"
        self.p2.save()

        v2 = MDCVoteOrder(player=self.p2, coalition=MDCVoteOrder.BANK)
        v2.save()

        # Give priority to player 1
        s = Share(corporation=self.c, player=self.p, turn=self.g.current_turn)
        s.save()
        s2 = Share(corporation=self.c2,
                   player=self.p,
                   turn=self.g.current_turn)
        s2.save()

        self.g.resolve_current_turn()

        ns = Newsfeed.objects.last().content
        self.assertIn(self.p.name, ns)
        self.assertIn(self.p2.name, ns)
        self.assertIn(s.corporation.base_corporation.name, ns)
        self.assertIn(s2.corporation.base_corporation.name, ns)
        self.assertIn(self.v.get_coalition_display(), ns)
        self.assertIn(v2.get_coalition_display(), ns)
        self.assertIn("3 voix", ns)
        self.assertIn("1 voix", ns)
Ejemplo n.º 19
0
class OrdersTest(EngineTestCase):
	def setUp(self):
		super(OrdersTest, self).setUp()

		self.v = MDCVoteOrder(
			player=self.p,
			coalition=MDCVoteOrder.DERE
		)
		self.v.save()

	def test_not_top_holder(self):
		"""
		Test that your vote counts for 1 when you're not top holder
		"""
		self.assertEqual(self.v.get_weight(), 1)
		self.assertEqual(self.v.get_friendly_corporations(), [])

	def test_one_top_holder(self):
		"""
		Test that a top holder's vote is correctly weighed
		"""
		s = Share(
			corporation=self.c,
			player=self.p,
			turn=self.g.current_turn
		)
		s.save()

		self.assertEqual(self.v.get_weight(), 2)
		self.assertEqual(self.v.get_friendly_corporations(), [self.c])

	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 test_top_holder_two_corporations(self):
		"""
		Test when a player is the top holder in two corporations
		"""
		s = Share(
			corporation=self.c,
			player=self.p,
		)
		s.save()

		s2 = Share(
			corporation=self.c2,
			player=self.p,
		)
		s2.save()

		self.assertEqual(self.v.get_weight(), 3)
		self.assertItemsEqual(self.v.get_friendly_corporations(), [self.c, self.c2])

	def test_mdc_coalition(self):
		"""
		Check party line is returned correctly
		"""
		self.assertIsNone(self.g.get_mdc_coalition())

		self.g.resolve_current_turn()

		self.assertEqual(self.g.get_mdc_coalition(), self.v.coalition)

	def test_get_last_mdv_vote(self):
		"""
		Check player last vote is returned correctly
		"""
		self.assertIsNone(self.p.get_last_mdc_coalition())

		self.g.resolve_current_turn()

		self.assertEqual(self.p.get_last_mdc_coalition(), self.v.coalition)

	def test_get_form_forbids_none_value(self):
		self.v.delete()

		instance = MDCVoteOrder(player=self.p)

		form = instance.get_form({'coalition': MDCVoteOrder.DERE, 'player': self.p})
		self.assertTrue(form.is_valid())

		form = instance.get_form({'coalition': None, 'player': self.p})
		self.assertFalse(form.is_valid())
Ejemplo n.º 20
0
class TaskTest(EngineTestCase):
	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_coalition_set(self):
		"""
		Test the line is defined
		"""
		self.g.resolve_current_turn()

		mdc_vote_session = self.g.mdcvotesession_set.get(turn=self.g.current_turn)
		self.assertEqual(mdc_vote_session.coalition, self.v.coalition)

	def test_equality_no_coalition(self):
		"""
		When an equality occurs, no line is set
		"""
		self.v2 = MDCVoteOrder(
			player=self.p2,
			coalition=MDCVoteOrder.DEVE
		)
		self.v2.save()

		self.g.resolve_current_turn()

		mdc_vote_session = (self.g.mdcvotesession_set.get(turn=self.g.current_turn))
		self.assertEqual(mdc_vote_session.coalition, None)

	def test_coalition_resolution_message(self):
		"""
		Beneficiary and victims get a note in resolution message
		"""
		v2 = MDCVoteOrder(
			player=self.p2,
			coalition=MDCVoteOrder.BANK
		)
		v2.save()

		# Give priority to player 1
		Share(corporation=self.c, player=self.p, turn=self.g.current_turn).save()

		self.g.resolve_current_turn()

		self.assertIn("MDC a suivi", self.p.message_set.get().content)
		self.assertIn(u"MDC a rejoint la coalition opposée", self.p2.message_set.get().content)

	def test_coalition_newsfeed(self):
		"""
		Newsfeeds describes everything.
		"""
		self.p.name = "p1"
		self.p.save()
		self.p2.name = "p2"
		self.p2.save()

		v2 = MDCVoteOrder(
			player=self.p2,
			coalition=MDCVoteOrder.BANK
		)
		v2.save()

		# Give priority to player 1
		s = Share(corporation=self.c, player=self.p, turn=self.g.current_turn)
		s.save()
		s2 = Share(corporation=self.c2, player=self.p, turn=self.g.current_turn)
		s2.save()

		self.g.resolve_current_turn()

		ns = Newsfeed.objects.last().content
		self.assertIn(self.p.name, ns)
		self.assertIn(self.p2.name, ns)
		self.assertIn(s.corporation.base_corporation.name, ns)
		self.assertIn(s2.corporation.base_corporation.name, ns)
		self.assertIn(self.v.get_coalition_display(), ns)
		self.assertIn(v2.get_coalition_display(), ns)
		self.assertIn("3 voix", ns)
		self.assertIn("1 voix", ns)