Exemple #1
0
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)
Exemple #2
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())
Exemple #3
0
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())
Exemple #4
0
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())
Exemple #5
0
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)