Example #1
0
def test_initial_positions_same_in_layout(layout_name):
    """Check initial positions are the same as what the layout says for all layouts"""
    l = layout.get_layout_by_name(layout_name=layout_name)
    parsed_l = layout.parse_layout(l)
    exp = parsed_l["bots"]
    walls = parsed_l["walls"]
    out = initial_positions(walls)
    assert out == exp
Example #2
0
def test_initial_positions_same_in_layout_random(layout_t):
    """Check initial positions are the same as what the layout says for 30 random layouts"""
    layout_name, layout_string = layout_t # get_random_layout returns a tuple of name and string
    parsed_l = layout.parse_layout(layout_string)
    exp = parsed_l["bots"]
    walls = parsed_l["walls"]
    out = initial_positions(walls)
    assert out == exp
Example #3
0
def test_initial_positions_basic():
    """Checks basic example for initial positions"""
    simple_layout = """
    ########
    #a ##b #
    #x   y #
    ########
    """
    parsed = layout.parse_layout(simple_layout)
    out = initial_positions(parsed['walls'], parsed['shape'])
    exp = [(1, 1), (6, 2), (1, 2), (6, 1)]
    assert len(out) == 4
    assert out == exp
Example #4
0
def test_initial_positions_basic():
    """Checks basic example for initial positions"""
    simple_layout = """
    ########
    # ###  #
    #      #
    ########
    """
    walls = layout.parse_layout(simple_layout)['walls']
    out = initial_positions(walls)
    exp = [(1, 1), (6, 2), (1, 2), (6, 1)]
    assert len(out) == 4
    assert out == exp
Example #5
0
def test_initial_positions(simple_layout):
    parsed = layout.parse_layout(simple_layout)
    i_pos = initial_positions(parsed['walls'], parsed['shape'])
    expected = parsed['bots']
    assert len(i_pos) == 4
    assert i_pos == expected
Example #6
0
def test_no_initial_positions_possible(bad_layout):
    parsed = layout.parse_layout(bad_layout)
    with pytest.raises(ValueError): # TODO should probably already raise in parse_layout
        initial_positions(parsed['walls'])