def test_types(): """Checking if returned player types are correct""" b = cs.Board() rp = cs.ResilientPlayer(b) assert type(rp).__name__ == 'ResilientPlayer' lp = cs.LazyPlayer(b) assert type(lp).__name__ == 'LazyPlayer'
def test_standard_board(): """Checking if standard board created is correct""" b = cs.Board() assert b.chutes == [(24, 5), (33, 3), (42, 30), (56, 37), (64, 27), (74, 12), (87, 70)] assert b.ladders == [(1, 40), (8, 10), (36, 52), (43, 62), (49, 79), (65, 82), (68, 85)] assert b.goal == 90
def test_constructor_named(self): """Constructor with kw args works.""" b = cs.Board() s = cs.Simulation(player_field=[cs.Player, cs.Player], board=b, seed=123, randomize_players=True) assert isinstance(s, cs.Simulation)
def test_random_order(): """Adds test to see if elements in a list is same sorted as unsorted""" list_of_players = [cs.Player, cs.LazyPlayer, cs.ResilientPlayer] b = cs.Board() s1 = cs.Simulation(list_of_players, b, 999) s2 = cs.Simulation(list_of_players, b, 999, False) dict1 = s1.players_per_type() dict2 = s2.players_per_type() assert dict1 == dict2
def test_player_move(): """Checking that player is initially at 0, and not in the same position after move is called""" b = cs.Board() p = cs.Player(b) assert p.position == 0 p.position = 5 p.move() assert p.position != 5
def test_lazy_player(): """Checking if LazyPlayer behaves as desired""" random.seed(999) b = cs.Board() p = cs.LazyPlayer(b) p.position = 2 p.move() random.seed(999) p.move() assert p.position == 15
def test_resilient_player(): """Checking if ResilientPlayer behaves as desired""" random.seed(999) b = cs.Board() p = cs.ResilientPlayer(b) p.position = 36 p.move() random.seed(999) p.move() assert p.position == 37
def test_constructor(self): """ResilientPlayer can be created.""" b = cs.Board() p = cs.ResilientPlayer(b, extra_steps=4) assert isinstance(p, cs.ResilientPlayer) assert isinstance(p, cs.Player)
def test_move(self): """Player has move() method.""" b = cs.Board() p = cs.Player(b) p.move()
def test_constructor(self): """Player can be constructed.""" b = cs.Board() p = cs.Player(b) assert isinstance(p, cs.Player)
def test_position_adjustment(self): """position_adjustment callable and returns number""" b = cs.Board() assert isinstance(b.position_adjustment(1), (int, float))
def test_goal_reached(self): """goal_reached() callable and returns bool""" b = cs.Board() assert isinstance(b.goal_reached(1), bool)
def test_position_adjustment(): """Checking if position_adjustment works""" b = cs.Board() assert b.position_adjustment(24) == -19 assert b.position_adjustment(68) == 17 assert b.position_adjustment(7) == 0
def test_move(self): """LazyPlayer can move.""" b = cs.Board() p = cs.LazyPlayer(b) p.move()
def test_constructor_default(self): """Default constructor callable.""" b = cs.Board() assert isinstance(b, cs.Board)
def test_move(self): """ResilientPlayer can move.""" b = cs.Board() p = cs.ResilientPlayer(b) p.move()
def test_constructor(self): """LazyPlayer can be constructed.""" b = cs.Board() p = cs.LazyPlayer(b, dropped_steps=3) assert isinstance(p, cs.LazyPlayer) assert isinstance(p, cs.Player)
def test_constructor_args(self): """Constructor with unnamed arguments callable.""" b = cs.Board([(1, 4), (5, 16)], [(9, 2), (12, 3)], 90) assert isinstance(b, cs.Board)
def test_constructor_named_args(self): """Constructor with kw args callable.""" b = cs.Board(ladders=[(1, 4), (5, 16)], chutes=[(9, 2), (12, 3)], goal=90) assert isinstance(b, cs.Board)
def test_goal_reached(): """Checking if goal_reached works""" b = cs.Board() assert b.goal_reached(90) is True assert b.goal_reached(13) is False assert b.goal_reached(100) is True