Exemplo n.º 1
0
    def test_can_downgrade(self):
        bi = Board(["red", "blue"], 10000)

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

        bi.upgrade("red", 1)

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

        bi.downgrade("red", 1)

        self.assertFalse(bi.can_downgrade("red", 1))

        bi.mortgage("red", 1)

        self.assertFalse(bi.can_downgrade("red", 1))

        bi.unmortgage("red", 1)

        self.assertFalse(bi.can_downgrade("red", 1))

        bi.upgrade("red", 1)

        self.assertTrue(bi.can_downgrade("red", 1))
Exemplo n.º 2
0
    def test_can_downgrade_non_monopoly(self):
        bi = Board(["red", "blue"], 10000)

        bi.purchase("red", 1)

        self.assertFalse(bi.can_downgrade("red", 1))
        self.assertFalse(bi.can_downgrade("blue", 1))
Exemplo n.º 3
0
    def test_can_downgrade_monopoly_mortgaged(self):
        bi = Board(["red", "blue"], 10000)

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

        self.assertFalse(bi.can_downgrade("red", 1))
        self.assertFalse(bi.can_downgrade("blue", 1))
Exemplo n.º 4
0
    def test_can_downgrade(self):
        bi = Board(["red", "blue"])
        bi.purchase("red", 1)
        bi.purchase("red", 3)

        self.assertFalse(bi.can_downgrade("red", 1))

        bi.mortgage("red", 1)

        self.assertFalse(bi.can_downgrade("red", 1))
Exemplo n.º 5
0
    def test_can_downgrade_level_1(self):
        bi = Board(["red", "blue"], 10000)

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

        self.assertFalse(bi.can_downgrade("red", 1))
        self.assertFalse(bi.can_downgrade("blue", 1))

        self.assertFalse(bi.can_downgrade("red", 3))
        self.assertFalse(bi.can_downgrade("blue", 3))
Exemplo n.º 6
0
    def test_can_downgrade_monopoly_level_4(self):
        bi = Board(["red", "blue"], 10000)

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

        self.assertTrue(bi.can_downgrade("red", 1))
        self.assertFalse(bi.can_downgrade("blue", 1))
        self.assertFalse(bi.can_downgrade("red", 3))
Exemplo n.º 7
0
    def test_can_downgrade_4_houses(self):
        bi = Board(["red", "blue"], 10000)

        bi.purchase("red", 1)
        bi.purchase("red", 3)
        bi.available_houses = 4

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

        self.assertTrue(bi.can_downgrade("red", 1))
        self.assertFalse(bi.can_downgrade("blue", 1))
Exemplo n.º 8
0
    def test_can_downgrade_non_max(self):
        bi = Board(["red", "blue"], 10000)

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

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

        self.assertTrue(bi.can_downgrade("red", 1))
Exemplo n.º 9
0
    def test_can_downgrade(self):
        bi = Board(["red", "blue"])
        bi.purchase("red", 6)
        bi.purchase("red", 8)
        bi.purchase("red", 9)

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

        bi.mortgage("red", 6)
        bi.mortgage("red", 8)
        bi.mortgage("red", 9)

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

        bi.unmortgage("red", 6)
        bi.unmortgage("red", 8)
        bi.unmortgage("red", 9)

        self.assertFalse(bi.can_downgrade("red", 6))
        self.assertFalse(bi.can_downgrade("red", 8))
        self.assertFalse(bi.can_downgrade("red", 9))
Exemplo n.º 10
0
    def test_can_downgrade_max_no_houses(self):
        bi = Board(["red", "blue"], 10000, 4, 4)

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

        bi.purchase("blue", 6)
        bi.purchase("blue", 8)
        bi.purchase("blue", 9)

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

        bi.upgrade("blue", 6)
        bi.upgrade("blue", 6)
        bi.upgrade("blue", 6)
        bi.upgrade("blue", 6)

        self.assertFalse(bi.can_downgrade("red", 1))
        self.assertTrue(bi.can_downgrade("blue", 6))
Exemplo n.º 11
0
    def test_can_downgrade_unowned(self):
        bi = Board(["red", "blue"], 10000)

        self.assertFalse(bi.can_downgrade("red", 1))
        self.assertFalse(bi.can_downgrade("blue", 1))