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
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
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
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
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
def test_deal_sell(): p1 = Player(100) r1 = RealState(50, 5) r1.deal(p1) assert r1.owner_is(p1) assert p1.balance == 50
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
def test_sell(): p = Player(100) r = RealState(50, 5) r.sell_to(p) assert r.owner_is(p) assert p.balance == 50
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]
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
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], ])
def test_rent_player_is_owner(): p1 = Player(4) r1 = RealState(50, 5, owner=p1) r1.rent_to(p1) assert p1.balance == 4
def setUp(self): self.p = Player() self.board = Board([self.p])
def test_leader_tie(): players = Player.from_strategies(0) r = RealState(100, 10) g = Game(players, [r]) assert g.leader == players[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)
def test_has_owner(): p = Player(0) r = RealState(50, 5, owner=p) assert r.has_owner() == True
def test_foreclose(): p = Player(0) r = RealState(50, 5, owner=p) r.foreclose() assert r.has_owner() == False
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 generate_players(balance): players = Player.from_strategies(balance) random.shuffle(players) return tuple(players)