Пример #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))
Пример #2
0
    def test_can_purchase(self):
        bi = Board(["red", "blue"])
        bi.purchase("red", 6)
        bi.purchase("red", 8)
        bi.purchase("red", 9)

        self.assertFalse(bi.can_purchase(6))
        self.assertFalse(bi.can_purchase(8))
        self.assertFalse(bi.can_purchase(9))

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

        self.assertFalse(bi.can_purchase(6))
        self.assertFalse(bi.can_purchase(8))
        self.assertFalse(bi.can_purchase(9))

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

        self.assertFalse(bi.can_purchase(6))
        self.assertFalse(bi.can_purchase(8))
        self.assertFalse(bi.can_purchase(9))
Пример #3
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))
Пример #4
0
    def test_rent(self):
        bi = Board(["red", "blue"])
        bi.purchase("red", 6)
        bi.purchase("red", 8)
        bi.purchase("red", 9)

        self.assertEquals(6, bi.get_rent(6, 7))
        self.assertEquals(6, bi.get_rent(8, 7))
        self.assertEquals(8, bi.get_rent(9, 7))

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

        self.assertEquals(0, bi.get_rent(6, 7))
        self.assertEquals(0, bi.get_rent(8, 7))
        self.assertEquals(0, bi.get_rent(9, 7))

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

        self.assertEquals(6, bi.get_rent(6, 7))
        self.assertEquals(6, bi.get_rent(8, 7))
        self.assertEquals(8, bi.get_rent(9, 7))
Пример #5
0
    def test_level(self):
        bi = Board(["red", "blue"])
        bi.purchase("red", 6)
        bi.purchase("red", 8)
        bi.purchase("red", 9)

        self.assertEquals(1, bi.get_level(6))
        self.assertEquals(1, bi.get_level(8))
        self.assertEquals(1, bi.get_level(9))

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

        self.assertEquals(0, bi.get_level(6))
        self.assertEquals(0, bi.get_level(8))
        self.assertEquals(0, bi.get_level(9))

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

        self.assertEquals(1, bi.get_level(6))
        self.assertEquals(1, bi.get_level(8))
        self.assertEquals(1, bi.get_level(9))
Пример #6
0
    def test_value(self):
        bi = Board(["red", "blue"])
        bi.purchase("red", 6)
        bi.purchase("red", 8)
        bi.purchase("red", 9)

        self.assertEquals(100, bi.get_value(6))
        self.assertEquals(100, bi.get_value(8))
        self.assertEquals(120, bi.get_value(9))

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

        self.assertEquals(50, bi.get_value(6))
        self.assertEquals(50, bi.get_value(8))
        self.assertEquals(60, bi.get_value(9))

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

        self.assertEquals(100, bi.get_value(6))
        self.assertEquals(100, bi.get_value(8))
        self.assertEquals(120, bi.get_value(9))
Пример #7
0
    def test_non_property(self):
        bi = Board(["red", "blue"])
        bi.purchase("red", 1)
        bi.purchase("red", 3)

        self.assertRaises(BoardError, lambda: bi.unmortgage("red", 2))
        self.assertRaises(BoardError, lambda: bi.unmortgage("red", 10))
Пример #8
0
    def test_unmortgage_without_mortgaging(self):
        bi = Board(["red", "blue"])
        bi.purchase("red", 6)
        bi.purchase("red", 8)
        bi.purchase("red", 9)

        self.assertRaises(BoardError, lambda: bi.unmortgage("red", 6))
        self.assertRaises(BoardError, lambda: bi.unmortgage("red", 8))
        self.assertRaises(BoardError, lambda: bi.unmortgage("red", 9))
Пример #9
0
    def test_non_player(self):
        bi = Board(["red", "blue"])
        bi.purchase("red", 6)
        bi.purchase("red", 8)
        bi.purchase("red", 9)

        self.assertRaises(BoardError, lambda: bi.unmortgage("reed", 6))
Пример #10
0
    def test_unowned_property(self):
        bi = Board(["red", "blue"])
        bi.purchase("red", 1)
        bi.purchase("red", 3)

        self.assertRaises(BoardError, lambda: bi.unmortgage("red", 6))

        bi.purchase("blue", 6)

        self.assertRaises(BoardError, lambda: bi.unmortgage("red", 6))

        bi.mortgage("blue", 6)

        self.assertRaises(BoardError, lambda: bi.unmortgage("red", 6))

        bi.unmortgage("blue", 6)

        self.assertRaises(BoardError, lambda: bi.unmortgage("red", 6))