Esempio n. 1
0
    def test_can_upgrade_owned(self):
        bi = Board(["red", "blue"], 10000)

        bi.purchase("red", 1)

        self.assertFalse(bi.can_upgrade("red", 1))
        self.assertFalse(bi.can_upgrade("blue", 1))
Esempio n. 2
0
    def test_other_can_upgrade_when_unmortgaging(self):
        bi = Board(["red", "blue"])
        bi.purchase("red", 6)
        bi.purchase("red", 8)
        bi.purchase("red", 9)

        self.assertTrue(bi.can_upgrade("red", 6))
        self.assertTrue(bi.can_upgrade("red", 8))
        self.assertTrue(bi.can_upgrade("red", 9))

        bi.mortgage("red", 6)

        self.assertFalse(bi.can_upgrade("red", 6))
        self.assertFalse(bi.can_upgrade("red", 8))
        self.assertFalse(bi.can_upgrade("red", 9))

        bi.unmortgage("red", 6)

        self.assertTrue(bi.can_upgrade("red", 6))
        self.assertTrue(bi.can_upgrade("red", 8))
        self.assertTrue(bi.can_upgrade("red", 9))

        bi.mortgage("red", 8)

        self.assertFalse(bi.can_upgrade("red", 6))
        self.assertFalse(bi.can_upgrade("red", 8))
        self.assertFalse(bi.can_upgrade("red", 9))

        bi.unmortgage("red", 8)

        self.assertTrue(bi.can_upgrade("red", 6))
        self.assertTrue(bi.can_upgrade("red", 8))
        self.assertTrue(bi.can_upgrade("red", 9))
Esempio n. 3
0
    def test_can_upgrade(self):
        bi = Board(["red", "blue"])
        bi.purchase("red", 1)
        bi.purchase("red", 3)

        self.assertTrue(bi.can_upgrade("red", 1))

        bi.mortgage("red", 1)

        self.assertFalse(bi.can_upgrade("red", 1))
Esempio n. 4
0
    def test_can_upgrade_monopoly(self):
        bi = Board(["red", "blue"], 10000)

        bi.purchase("red", 1)
        bi.purchase("red", 3)

        self.assertTrue(bi.can_upgrade("red", 1))
        self.assertFalse(bi.can_upgrade("blue", 1))

        self.assertTrue(bi.can_upgrade("red", 3))
        self.assertFalse(bi.can_upgrade("blue", 3))
Esempio n. 5
0
    def test_can_upgrade_no_hotels(self):
        bi = Board(["red", "blue"],
                   10000,
                   available_houses=20,
                   available_hotels=0)

        bi.purchase("red", 1)
        bi.purchase("red", 3)

        bi.upgrade("red", 1)
        bi.upgrade("red", 1)
        bi.upgrade("red", 1)
        bi.upgrade("red", 1)

        self.assertFalse(bi.can_upgrade("red", 1))
        self.assertTrue(bi.can_upgrade("red", 3))
Esempio n. 6
0
    def test_can_upgrade_non_max(self):
        bi = Board(["red", "blue"], 10000)

        bi.purchase("red", 1)
        bi.purchase("red", 3)

        bi.upgrade("red", 1)

        self.assertTrue(bi.can_upgrade("red", 1))
Esempio n. 7
0
    def test_other_props_cant_upgrade(self):
        bi = Board(["red", "blue"])
        bi.purchase("red", 1)
        bi.purchase("red", 3)

        self.assertTrue(bi.can_upgrade("red", 1))

        bi.mortgage("red", 1)

        self.assertRaises(BoardError, lambda: bi.upgrade("red", 3))
        self.assertRaises(BoardError, lambda: bi.upgrade("red", 1))