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
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
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
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
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
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'])