def test_empty_moveleft(): # Given map, manager = loadMap("test_empty.json") # When manager.execute_turn(Direction.LEFT) #Then p = _find_one_player(map) assert not p.is_alive assert p.position == Position(0, 0)
def test_spike_moveup(): # Given map, manager = loadMap("test_spike.json") # When manager.execute_turn(Direction.UP) # Then p = _find_one_player(map) assert p.position == Position(0, 3) assert not p.is_alive
def test_two_ducks_against_melting_ice(): # Given map, manager = loadMap("test_multi_ducks_with_ice.json") # When manager.execute_turn(Direction.RIGHT) # Then p1: 'Player'= map.block(Position(4, 0)).top() assert p1.is_alive p2: 'Player' = map.block(Position(5, 0)).top() assert p2.is_alive
def test_boulder(): # Given map, manager = loadMap("test_boulder.json") # When manager.execute_turn(Direction.RIGHT) # Then player: Player = map.block(Position(3, 0)).top() assert player.is_alive boulder: Boulder = map.block(Position(4, 0)).top() assert type(boulder) == Boulder
def test_stone_movearound(): # Given map, manager = loadMap("test_stone_4x4.json") # When-Then manager.execute_turn(Direction.RIGHT) assert _find_one_player(map).position == Position(2, 1) manager.execute_turn(Direction.DOWN) assert _find_one_player(map).position == Position(2, 2) manager.execute_turn(Direction.LEFT) assert _find_one_player(map).position == Position(1, 2) manager.execute_turn(Direction.UP) assert _find_one_player(map).position == Position(1, 1)
def test_duckpool(): # Given map, manager = loadMap("test_duckpool.json") # When manager.execute_turn(Direction.RIGHT) # Then assert _find_one_player(map) is None pool: DuckPoolBlock = map.block(Position(3, 0)).top() assert pool.capacity == -1 assert pool.free_space == -1 assert len(pool._blocks_in_pool) == 1
def test_spike_movedown(): # Given map, manager = loadMap("test_spike.json") p = _find_one_player(map) map.move(pos_from=Position(0, 5), pos_to=Position(0, 1), what=p) # When manager.execute_turn(Direction.DOWN) # Then p = _find_one_player(map) assert p.position == Position(0, 1) assert p.is_alive
def test_duck_boulder_duck(): # Given map, manager = loadMap("test_duck_boulder_duck.json") # When manager.execute_turn(Direction.RIGHT) # Then p1: 'Player'= map.block(Position(3, 0)).top() assert p1.is_alive p2: 'Player' = map.block(Position(5, 0)).top() assert p2.is_alive assert type(map.block(Position(4, 0)).top()) == Boulder
def test_spike_moveup_directhit(): # Given map, manager = loadMap("test_spike.json") p = _find_one_player(map) map.move(pos_from=Position(0, 5), pos_to=Position(0, 3), what=p) # When manager.execute_turn(Direction.UP) p = _find_one_player(map) # Then assert p.position == Position(0, 3) assert not p.is_alive
def test_move_one_duck(): # Given map, manager = loadMap("test_move_one_duck.json") # When manager.execute_turn(Direction.RIGHT) # Then player: Player = map.block(Position(2, 0)).top() assert player.is_alive # When manager.execute_turn(Direction.RIGHT) # Then player: Player = map.block(Position(3, 0)).top() assert player.is_alive
def test_two_ducks_move_in_row(): # Given map, manager = loadMap("test_multi_ducks.json") # When manager.execute_turn(Direction.RIGHT) # Then p1: 'Player' = map.block(Position(4, 0)).top() assert p1.is_alive p2: 'Player' = map.block(Position(5, 0)).top() assert p2.is_alive # When manager.execute_turn(Direction.LEFT) # Then p1: 'Player' = map.block(Position(1, 0)).top() assert p1.is_alive p2: 'Player' = map.block(Position(2, 0)).top() assert p2.is_alive
def test_melting_ice(): # Given map, manager = loadMap("test_melting_ice.json") # When-Then manager.execute_turn(Direction.DOWN) p = _find_one_player(map) assert p.position == Position(0, 4) assert p.is_alive # When-Then manager.execute_turn(Direction.UP) manager.execute_turn(Direction.DOWN) p = _find_one_player(map) assert p.position == Position(0, 4) assert p.is_alive # When-Then manager.execute_turn(Direction.UP) manager.execute_turn(Direction.DOWN) p = _find_one_player(map) # Ice is now broken assert p.position == Position(0, 5) assert p.is_alive
def test_multiple_frogs(): # Given map, manager = loadMap("test_multiple_frogs.json") # When manager.execute_turn(Direction.RIGHT) # Then p: 'Player' = map.block(Position(2, 0)).top() assert p.is_alive p = map.block(Position(3, 0)).top() assert p.is_alive p = map.block(Position(4, 0)).top() assert p.is_alive # When manager.execute_turn(Direction.RIGHT) # Then p: 'Player' = map.block(Position(3, 0)).top() assert p.is_alive p = map.block(Position(4, 0)).top() assert p.is_alive p = map.block(Position(5, 0)).top() assert p.is_alive # When manager.execute_turn(Direction.LEFT) # Then p: 'Player' = map.block(Position(1, 0)).top() assert p.is_alive p = map.block(Position(3, 0)).top() assert p.is_alive p = map.block(Position(4, 0)).top() assert p.is_alive