def test_moving_upstairs_from_to_a_known_level_that_isnt_yet_linked_with_the_current(): m = Map(level(1), 2, 2) first = flexmock(Level(1)) second = flexmock(Level(2)) m.levels = set([first, second]) m.current = second first.should_receive("add_stairs").with_args(second, (1, 1)).once second.should_receive("add_stairs").with_args(first, (2, 2)).once m.travel_by_stairs(1, (1, 1)) assert m.current.dlvl == 1
def test_moving_upstairs_from_to_a_known_level_that_isnt_yet_linked_with_the_current( ): m = Map(level(1), 2, 2) first = flexmock(Level(1)) second = flexmock(Level(2)) m.levels = set([first, second]) m.current = second first.should_receive("add_stairs").with_args(second, (1, 1)).once second.should_receive("add_stairs").with_args(first, (2, 2)).once m.travel_by_stairs(1, (1, 1)) assert m.current.dlvl == 1
def test_moving_down_main_then_up_one_and_down_to_the_mines_before_mines_are_identified(): levels = level_chain(3, "main") m = Map(levels[-1], 3, 2) m.levels = set(levels) m.travel_by_stairs(2, (2, 3)) assert len(m.levels) == 3 m.move(4, 4) m.travel_by_stairs(3, (4, 4)) assert len(m.levels) == 4 m.change_branch_to("mines") assert len([l for l in m.levels if l.branch == "main"]) == 3 assert len([l for l in m.levels if l.branch == "mines"]) == 1
def test_moving_down_main_then_up_one_and_down_to_the_mines_before_mines_are_identified( ): levels = level_chain(3, "main") m = Map(levels[-1], 3, 2) m.levels = set(levels) m.travel_by_stairs(2, (2, 3)) assert len(m.levels) == 3 m.move(4, 4) m.travel_by_stairs(3, (4, 4)) assert len(m.levels) == 4 m.change_branch_to("mines") assert len([l for l in m.levels if l.branch == "main"]) == 3 assert len([l for l in m.levels if l.branch == "mines"]) == 1
def graph(levels=None): if levels is None: levels = level_chain(5, "main") dmap = Map(levels[0], 0, 0) dmap.levels = set(levels) return dmap
def fixed_graph(levels=None): if levels is None: levels = level_chain(5, "main") dmap = Map(levels[0], 0, 0) dmap.levels = set(levels) return dmap