def center_room_a_on_room_b_by_waypoint(room_a, room_b, waypoint_pojo): intermediate_room_b = CenterTile.center_on_entrance( room_b, waypoint_pojo) room_a_exit = waypoint_pojo.get_exit(room_a) new_room_b = ShiftTile.shift_room_on_tile(intermediate_room_b, room_a_exit) return new_room_b
def test_center_burrow_on_entrance_b(waypoint_b): room = Burrow() assert waypoint_b.has_entrance(room) actual = CenterTile.center_on_entrance(room, waypoint_b) tile = waypoint_b.get_entrance(actual) assert tile == Tile(0, 0, UniqueDungeonCardValues.ENTRANCE_B) assert isinstance(actual, Burrow)
def test_center_hovel_on_entrance_a(waypoint_a): room = Hovel() assert waypoint_a.has_entrance(room) actual = CenterTile.center_on_entrance(room, waypoint_a) tile = waypoint_a.get_entrance(actual) assert tile == Tile(0, 0, UniqueDungeonCardValues.ENTRANCE_A) assert isinstance(actual, Hovel)
def test_center_on_entrance_b_causes_entrance_to_have_coordinate_0_0( waypoint_b): room = Tunnel() new_room = CenterTile.center_on_entrance(room, waypoint_b) actual = waypoint_b.get_entrance(new_room) assert actual == Tile(0, 0, UniqueDungeonCardValues.ENTRANCE_B) assert actual.get_x() == 0 assert actual.get_y() == 0
def test_tile_character_attribute_does_not_change_after_being_recentered(): attribute = DungeonCardValues.TREASURE tile_to_be_recentered = Tile(0, 0, attribute) tile_to_recenter_around = Tile(0, 1, None) actual = CenterTile.recenter_tile(tile_to_be_recentered, tile_to_recenter_around) assert actual.get_character_number() == DungeonCardValues.TREASURE
def test_recentering_tile0_0_around_0_1_has_coordinates_0_minus_1(): tile_to_be_recentered = Tile(0, 0, None) tile_to_recenter_around = Tile(0, 1, None) actual = CenterTile.recenter_tile(tile_to_be_recentered, tile_to_recenter_around) actual_x = actual.get_x() actual_y = actual.get_y() expected_x = 0 expected_y = -1 assert expected_x == actual_x assert expected_y == actual_y
def test_recenters_list_of_tiles_around_a_tile(): tile_one = Tile(0, 1, None) tile_two = Tile(1, 0, None) tile_list = [tile_one, tile_two] tile_to_be_recentered_around = Tile(-1, 1, None) actual = CenterTile.recenter_tile_list(tile_list, tile_to_be_recentered_around) new_tile_one = actual[0] new_tile_two = actual[1] expected_tile_one_x = 1 expected_tile_one_y = 0 expected_tile_two_x = 2 expected_tile_two_y = -1 assert new_tile_one.get_x() == expected_tile_one_x assert new_tile_one.get_y() == expected_tile_one_y assert new_tile_two.get_x() == expected_tile_two_x assert new_tile_two.get_y() == expected_tile_two_y
def test_recentering_tile_0_0_returns_tile_with_coordinates_0_0(): x_coordinate = 0 y_coordinate = 0 tile_to_be_recentered = Tile(x_coordinate, y_coordinate, None) tile_to_recenter_around = Tile(x_coordinate, y_coordinate, None) actual = CenterTile.recenter_tile(tile_to_be_recentered, tile_to_recenter_around) actual_x = actual.get_x() actual_y = actual.get_y() expected_x = 0 expected_y = 0 assert isinstance(actual, Tile) assert expected_x == actual_x assert expected_y == actual_y
def test_recenter_room_on_tile(waypoint_b): room = Burrow() actual = CenterTile.center_on_entrance(room, waypoint_b) assert waypoint_b.get_entrance(actual) == Tile( 0, 0, UniqueDungeonCardValues.ENTRANCE_B)
def test_center_room_on_tile_type_that_room_does_not_have_raises_value_error( waypoint_a): room = Burrow() assert not waypoint_a.has_entrance(room) with pytest.raises(ValueError): CenterTile.center_on_entrance(room, waypoint_a)