def test_eat_gold(): game = Game(width=10, height=10) g = Engine.create_game_state(game.id, game.width, game.height) Engine.add_snakes_to_board(g, [SNAKE_1]) g.gold.append([3, 1]) g.sanity_check() with open('lib/game/data/gold_test_1.in') as f: start_state = f.read().strip() assert(g.to_string().strip() == start_state) g.snakes[0].move = Engine.MOVE_EAST g = Engine.resolve_moves(g) g.sanity_check() g.snakes[0].move = Engine.MOVE_EAST g = Engine.resolve_moves(g) g.sanity_check() with open('lib/game/data/gold_test_1.out') as f: end_state = f.read().strip() assert(g.to_string().strip() == end_state.strip()) assert(len(g.gold) == 0)
def test_move_back_on_self(): game = Game(width=10, height=10) g = Engine.create_game_state(game.id, game.width, game.height) Engine.add_snakes_to_board(g, [SNAKE_1]) g.sanity_check() with open('lib/game/data/move_right.in') as f: start_state = f.read().strip() assert(g.to_string().strip() == start_state) g = Engine.resolve_moves(g, [MOVE_LEFT_1]) g.sanity_check() with open('lib/game/data/empty.out') as f: end_state = f.read().strip() assert(g.to_string().strip() == end_state.strip())
def test_head_to_head_uneven(): game = Game(width=10, height=10) g = Engine.create_game_state(game.id, game.width, game.height) Engine.add_snakes_to_board(g, [SNAKE_1, SNAKE_5]) g.sanity_check() with open('lib/game/data/head_to_head_uneven.in') as f: start_state = f.read().strip() assert(g.to_string().strip() == start_state) g = Engine.resolve_moves(g, [MOVE_RIGHT_1, MOVE_LEFT_5]) g.sanity_check() with open('lib/game/data/head_to_head_uneven.out') as f: end_state = f.read().strip() print g.to_string().strip() assert(g.to_string().strip() == end_state.strip())
def test_head_to_head(): game = Game(width=10, height=10) g = Engine.create_game_state(game.id, game.width, game.height) Engine.add_snakes_to_board(g, [SNAKE_1, SNAKE_2]) g.sanity_check() with open('lib/game/data/head_to_head.in') as f: start_state = f.read().strip() assert(g.to_string().strip() == start_state) g.snakes[0].move = Engine.MOVE_EAST g.snakes[1].move = Engine.MOVE_WEST g = Engine.resolve_moves(g) g.sanity_check() with open('lib/game/data/empty.out') as f: end_state = f.read().strip() assert(g.to_string().strip() == end_state.strip())
def test_eat_food(): game = Game(width=10, height=10) g = Engine.create_game_state(game.id, game.width, game.height) Engine.add_snakes_to_board(g, [SNAKE_1]) Engine.add_food_to_board(g, [3, 1]) g.sanity_check() with open('lib/game/data/eat_food.in') as f: start_state = f.read().strip() assert(g.to_string().strip() == start_state) g = Engine.resolve_moves(g, [MOVE_RIGHT_1]) g.sanity_check() g = Engine.resolve_moves(g, [MOVE_RIGHT_1]) g.sanity_check() with open('lib/game/data/eat_food.out') as f: end_state = f.read().strip() assert(g.to_string().strip() == end_state.strip()) assert(len(g.food) == 0)