示例#1
0
def test_owner_is():
    p1 = Player(0)
    p2 = Player(0)
    r = RealState(50, 5, owner=p1)

    assert r.owner_is(p1) == True
    assert r.owner_is(p2) == False
示例#2
0
def test_rent():
    p1, p2 = Player(0), Player(5)
    r = RealState(50, 5, owner=p1)

    r.rent_to(p2)
    assert p1.balance == 5
    assert p2.balance == 0
示例#3
0
def test_deal_rent():
    p1 = Player(100)
    p2 = Player(0)
    r2 = RealState(50, 5, owner=p2)

    r2.deal(p1)
    assert p2.balance == 5
    assert p1.balance == 95
示例#4
0
def test_run_winner(mocker):
    p1 = Player(100)
    p2 = Player(0)
    r = RealState(100, 10)
    g = Game([p1, p2], [r])

    g.dice = lambda: 1

    winner = g.run()

    assert winner is p1
示例#5
0
def test_run_tie():
    p1 = Player(100)
    p2 = Player(100)
    r = RealState(100, 10)
    g = Game([p1, p2], [r])

    g.dice = lambda: 1

    winner = g.run(998)

    assert winner is p2
示例#6
0
def test_deal_sell():
    p1 = Player(100)
    r1 = RealState(50, 5)

    r1.deal(p1)
    assert r1.owner_is(p1)
    assert p1.balance == 50
示例#7
0
def test_init():
    players = Player.from_strategies(300)
    r = RealState(100,10)
    g = Game(players, [r])

    assert [p.balance for p in players] == [300] * 4
    assert g.board
示例#8
0
def test_sell():
    p = Player(100)
    r = RealState(50, 5)

    r.sell_to(p)

    assert r.owner_is(p)
    assert p.balance == 50
示例#9
0
def test_leader():
    players = Player.from_strategies(0)
    players[1].receive(1)
    players[2].receive(2)
    players[3].receive(3)
    r = RealState(100, 10)
    g = Game(players, [r])

    assert g.leader == players[3]
示例#10
0
文件: app.py 项目: zeal4u/MonopolyWeb
 def POST(self):
     # need to send the position list of player's moving
     response = {
         'is_over':
         False,
         'current_player':
         json.loads(
             json.dumps(Player('-1', 'jiangshizhi'), cls=PlayerEncoder)),
         'messages': ['test'],
         'positions': [1, 2, 3]
     }
     return response
示例#11
0
class TestBoard(TestCase):
    def setUp(self):
        self.p = Player()
        self.board = Board([self.p])

    def test_raise_amount_mortgage(self):
        self.board.buy_deed(self.p, self.board.deeds[1])
        self.board.buy_deed(self.p, self.board.deeds[3])

        self.p.raise_amount(30)
        self.assertEqual(self.board.get_mortgagable_deeds(self.p), [
            self.board.deeds[3],
        ])

        self.p.raise_amount(30)
        self.assertEqual(self.board.get_mortgagable_deeds(self.p), [])

    def test_raise_amount_houses(self):
        self.board.buy_deed(self.p, self.board.deeds[1])
        self.board.buy_deed(self.p, self.board.deeds[3])

        self.board.add_house(self.p, self.board.deeds[1])
        self.board.add_house(self.p, self.board.deeds[3])

        self.assertEqual(self.board.get_mortgagable_deeds(self.p), [])

        self.p.raise_amount(25)
        self.assertEqual(self.board.get_houses(self.p),
                         [(self.board.deeds[3], 1)])
        self.assertEqual(self.board.get_mortgagable_deeds(self.p), [
            self.board.deeds[1],
        ])
class TestBoard(TestCase):

    def setUp(self):
        self.p = Player()
        self.board = Board([self.p])

    def test_raise_amount_mortgage(self):
        self.board.buy_deed(self.p, self.board.deeds[1])
        self.board.buy_deed(self.p, self.board.deeds[3])

        self.p.raise_amount(30)
        self.assertEqual(self.board.get_mortgagable_deeds(self.p), [self.board.deeds[3], ])

        self.p.raise_amount(30)
        self.assertEqual(self.board.get_mortgagable_deeds(self.p), [])

    def test_raise_amount_houses(self):
        self.board.buy_deed(self.p, self.board.deeds[1])
        self.board.buy_deed(self.p, self.board.deeds[3])

        self.board.add_house(self.p, self.board.deeds[1])
        self.board.add_house(self.p, self.board.deeds[3])

        self.assertEqual(self.board.get_mortgagable_deeds(self.p), [])

        self.p.raise_amount(25)
        self.assertEqual(self.board.get_houses(self.p), [(self.board.deeds[3], 1)])
        self.assertEqual(self.board.get_mortgagable_deeds(self.p), [self.board.deeds[1], ])
示例#13
0
def test_rent_player_is_owner():
    p1 = Player(4)
    r1 = RealState(50, 5, owner=p1)

    r1.rent_to(p1)
    assert p1.balance == 4
示例#14
0
 def setUp(self):
     self.p = Player()
     self.board = Board([self.p])
示例#15
0
def test_leader_tie():
    players = Player.from_strategies(0)
    r = RealState(100, 10)
    g = Game(players, [r])

    assert g.leader == players[0]
示例#16
0
def test_roll_the_dice():
    for i in range(200):
        num, doubles = Player.roll_the_dice()
        assert 2 <= num <= 12
        assert isinstance(doubles, bool)
示例#17
0
def test_has_owner():
    p = Player(0)
    r = RealState(50, 5, owner=p)
    assert r.has_owner() == True
示例#18
0
def test_foreclose():
    p = Player(0)
    r = RealState(50, 5, owner=p)

    r.foreclose()
    assert r.has_owner() == False
示例#19
0
def test_sell_error():
    p1, p2 = Player(100), Player(0)
    r = RealState(50, 5, owner=p2)

    with pytest.raises(AssertionError):
        r.sell_to(p1)
 def setUp(self):
     self.p = Player()
     self.board = Board([self.p])
示例#21
0
def generate_players(balance):
    players = Player.from_strategies(balance)
    random.shuffle(players)
    return tuple(players)