Exemplo n.º 1
0
 def test_DeadPlayerTarget(self):
     """ test to make sure a dead player can't be targetted """
     player = self.player
     player2 = Player()
     player2.alive = False
     
     with self.assertRaises(action.DeadPlayer):
         status, response = player.play(action.Captain, player2)
Exemplo n.º 2
0
    def test_DeadPlayerTarget(self):
        """ test to make sure a dead player can't be targetted """
        player = self.player
        player2 = Player()
        player2.alive = False

        with self.assertRaises(action.DeadPlayer):
            status, response = player.play(action.Captain, player2)
Exemplo n.º 3
0
    def test_Coup(self):
        player  = self.player
        player2 = Player()

        
        # test for no target
        player.coins = 7
        with self.assertRaises(action.TargetRequired):
            status, response = player.play(action.Coup)

        # test for no player having insufficient money
        player.coins = 6
        with self.assertRaises(action.NotEnoughCoins) as exc:
            status, response = player.play(action.Coup, player2)
        self.assertEqual(exc.exception.coinsNeeded, 7)
                
        # test for targetting self
        player.coins = 7
        with self.assertRaises(action.TargetRequired):
            status, response = player.play(action.Coup, player)        
        
        # test for succesful coup with opponent has 2 influence
        player2.alive = True
        player.coins = 7
        status, response = player.play(action.Coup, player2)
        self.assertTrue(status, response)
        self.assertLess(player.coins, 7)
        self.assertEqual(len(player2.influence), 1)
        self.assertTrue(player2.alive)

        # test for succesful coup with opponent has 1 influence
        player2.alive = True
        player.coins = 7
        self.assertEqual(len(player2.influence), 1)
        status, response = player.play(action.Coup, player2)
        self.assertTrue(status, response)
        self.assertLess(player.coins, 7)
        self.assertEqual(len(player2.influence), 0)
        self.assertFalse(player2.alive)
        
        # test for coup against dead opponent
        player2.alive = False
        player.coins = 7
        with self.assertRaises(action.DeadPlayer):
            status, response = player.play(action.Coup, player2)
Exemplo n.º 4
0
    def test_Coup(self):
        player = self.player
        player2 = Player()

        # test for no target
        player.coins = 7
        with self.assertRaises(action.TargetRequired):
            status, response = player.play(action.Coup)

        # test for no player having insufficient money
        player.coins = 6
        with self.assertRaises(action.NotEnoughCoins) as exc:
            status, response = player.play(action.Coup, player2)
        self.assertEqual(exc.exception.coinsNeeded, 7)

        # test for targetting self
        player.coins = 7
        with self.assertRaises(action.TargetRequired):
            status, response = player.play(action.Coup, player)

        # test for succesful coup with opponent has 2 influence
        player2.alive = True
        player.coins = 7
        status, response = player.play(action.Coup, player2)
        self.assertTrue(status, response)
        self.assertLess(player.coins, 7)
        self.assertEqual(len(player2.influence), 1)
        self.assertTrue(player2.alive)

        # test for succesful coup with opponent has 1 influence
        player2.alive = True
        player.coins = 7
        self.assertEqual(len(player2.influence), 1)
        status, response = player.play(action.Coup, player2)
        self.assertTrue(status, response)
        self.assertLess(player.coins, 7)
        self.assertEqual(len(player2.influence), 0)
        self.assertFalse(player2.alive)

        # test for coup against dead opponent
        player2.alive = False
        player.coins = 7
        with self.assertRaises(action.DeadPlayer):
            status, response = player.play(action.Coup, player2)