Exemple #1
0
 def test_can_buy_good(self):
     chloe = Player("Chloe", 0, money=300)
     lucien = Player("Lucien", 1)
     board = Board()
     chloe.buy_good(board.boxes[3])
     lucien.buy_good(board.boxes[9])
     self.assertTrue(chloe.can_buy_good(board.boxes[1]))
     self.assertTrue(chloe.can_buy_good(board.boxes[5]))
     self.assertTrue(chloe.can_buy_good(board.boxes[12]))
     self.assertFalse(chloe.can_buy_good(board.boxes[2]))  # not a good
     self.assertFalse(chloe.can_buy_good(board.boxes[3]))  # chloe is owner
     self.assertFalse(chloe.can_buy_good(board.boxes[9]))  # lucien is owner
     self.assertFalse(chloe.can_buy_good(
         board.boxes[39]))  # not enough money
Exemple #2
0
 def test_buy_houses(self):
     chloe = Player("Chloe", 0)
     board = Board()
     chloe.buy_good(board.boxes[1])
     chloe.buy_good(board.boxes[3])
     chloe.buy_houses(board.boxes[1], 5)
     self.assertEqual(5, board.boxes[1].nb_houses)
     self.assertEqual(INITIAL_MONEY - 60 - 60 - 50 * 5, chloe.money)
     with self.assertRaises(Exception):
         chloe.buy_houses(board.boxes[1], 2)
     with self.assertRaises(Exception):
         chloe.buy_houses(board.boxes[2], 1)
     chloe.buy_good(board.boxes[39])
     with self.assertRaises(Exception):
         chloe.buy_houses(board.boxes[39], 4)
Exemple #3
0
 def test_has_full_color(self):
     chloe = Player("Chloe", 0)
     board = Board()
     chloe.buy_good(board.boxes[1])
     chloe.buy_good(board.boxes[3])
     chloe.buy_good(board.boxes[6])
     chloe.buy_good(board.boxes[8])
     chloe.buy_good(board.boxes[9])
     chloe.buy_good(board.boxes[11])
     self.assertTrue(chloe.has_full_color("brown"))
     self.assertTrue(chloe.has_full_color("light-blue"))
     self.assertFalse(chloe.has_full_color("pink"))
     self.assertFalse(chloe.has_full_color("green"))
     with self.assertRaises(KeyError):
         chloe.has_full_color("purple")
Exemple #4
0
 def test_get_rent(self):
     chloe = Player("Chloe", 0)
     lucien = Player("Lucien", 1)
     gildas = Player("Gildas", 1)
     board = Board()
     chloe.buy_good(board.boxes[1])
     board.boxes[1].nb_houses = 2
     chloe.buy_good(board.boxes[3])
     board.boxes[3].nb_houses = 3
     chloe.buy_good(board.boxes[5])
     chloe.buy_good(board.boxes[6])
     chloe.buy_good(board.boxes[12])
     gildas.buy_good(board.boxes[15])
     gildas.buy_good(board.boxes[25])
     lucien.dices = [3, 4]
     self.assertEqual(0, board.boxes[1].get_rent(chloe))
     self.assertEqual(0, board.boxes[8].get_rent(chloe))
     self.assertEqual(0, board.boxes[16].get_rent(chloe))
     self.assertEqual(30, board.boxes[1].get_rent(lucien))
     self.assertEqual(180, board.boxes[3].get_rent(lucien))
     self.assertEqual(50, board.boxes[5].get_rent(lucien))
     self.assertEqual((3 + 4) * 4, board.boxes[12].get_rent(lucien))
     self.assertEqual(0, board.boxes[13].get_rent(lucien))
     self.assertEqual(100, board.boxes[15].get_rent(lucien))
Exemple #5
0
 def test_get_number_of_stations(self):
     chloe = Player("Chloe", 0)
     lucien = Player("Lucien", 1)
     gildas = Player("Gildas", 2)
     board = Board()
     chloe.buy_good(board.boxes[5])
     chloe.buy_good(board.boxes[15])
     lucien.buy_good(board.boxes[25])
     self.assertEqual(2, chloe.get_number_of_stations())
     self.assertEqual(1, lucien.get_number_of_stations())
     self.assertEqual(0, gildas.get_number_of_stations())
Exemple #6
0
 def test_get_number_of_buildings(self):
     chloe = Player("Chloe", 0)
     lucien = Player("Lucien", 1)
     board = Board()
     chloe.buy_good(board.boxes[1])
     chloe.buy_good(board.boxes[3])
     chloe.buy_good(board.boxes[6])
     chloe.buy_good(board.boxes[8])
     chloe.buy_good(board.boxes[9])
     chloe.buy_houses(board.boxes[1], 5)
     chloe.buy_houses(board.boxes[3], 3)
     chloe.buy_houses(board.boxes[6], 5)
     chloe.buy_houses(board.boxes[8], 2)
     self.assertEqual((5, 2), chloe.get_number_of_buildings())
     self.assertEqual((0, 0), lucien.get_number_of_buildings())
Exemple #7
0
 def test_buy_good(self):
     chloe = Player("Chloe", 0)
     board = Board()
     chloe.buy_good(board.boxes[39])
     chloe.buy_good(board.boxes[1])
     chloe.buy_good(board.boxes[5])
     self.assertEqual(3, len(chloe.goods))
     self.assertEqual("Rue de la Paix", chloe.goods[0].name)
     self.assertEqual("Boulevard de Belleville", chloe.goods[1].name)
     self.assertEqual("Gare Montparnasse", chloe.goods[2].name)
     self.assertEqual(
         INITIAL_MONEY - sum([good.price for good in chloe.goods]),
         chloe.money)
     with self.assertRaises(Exception):
         chloe.buy_good(board.boxes[2])
Exemple #8
0
 def test_taxes(self):
     chloe = Player("Chloe", 0)
     board = Board()
     chloe.buy_good(board.boxes[1])
     chloe.buy_good(board.boxes[3])
     chloe.buy_good(board.boxes[6])
     chloe.buy_good(board.boxes[8])
     chloe.buy_good(board.boxes[9])
     chloe.buy_houses(board.boxes[1], 5)
     chloe.buy_houses(board.boxes[3], 3)
     chloe.buy_houses(board.boxes[6], 5)
     chloe.buy_houses(board.boxes[8], 2)
     money_before_taxes = chloe.money
     card = Card(card_id="666", name="", card_type="taxes", value=[20, 50])
     card.execute(chloe, None, board)
     tax = 5 * 20 + 2 * 50
     self.assertEqual(money_before_taxes - tax, chloe.money)
     self.assertEqual(board.park_money, tax)
Exemple #9
0
 def test_can_buy_houses(self):
     chloe = Player("Chloe", 0, money=600)
     board = Board()
     chloe.buy_good(board.boxes[1])
     self.assertEqual(0, chloe.can_buy_houses(
         board.boxes[1]))  # does not own all properties
     chloe.buy_good(board.boxes[3])
     self.assertEqual(0,
                      chloe.can_buy_houses(board.boxes[5]))  # not a street
     self.assertEqual(5, chloe.can_buy_houses(board.boxes[1]))
     board.boxes[1].nb_houses = 3
     self.assertEqual(2, chloe.can_buy_houses(
         board.boxes[1]))  # only 2 houses available
     self.assertEqual(0, chloe.can_buy_houses(
         board.boxes[39]))  # not the owner
     chloe.buy_good(board.boxes[39])
     self.assertEqual(0, chloe.can_buy_houses(
         board.boxes[39]))  # not enough money
Exemple #10
0
 def test_get_number_of_companies(self):
     chloe = Player("Chloe", 0)
     board = Board()
     chloe.buy_good(board.boxes[12])
     self.assertEqual(1, chloe.get_number_of_companies())