def room_map(): m = gamemap.GameMap(width=20, height=20) a = room.Room(0, 0, 3, 3) b = room.Room(4, 0, 3, 3) c = room.Room(0, 5, 3, 3) d = room.Room(4, 4, 3, 3) for i, r in enumerate([a, b, c, d]): r.label = i m.rooms.append(r) m.room_coords = m.room_coordinates() return m
def test_vert_walls_4x4_room(): r = room.Room(0, 0, 4, 4) result = r.vert_walls() assert result == { (0, 0), (0, 1), (0, 2), (0, 3), (3, 0), (3, 1), (3, 2), (3, 3), }
def test_vert_walls_3x3_room(): r = room.Room(0, 0, 3, 3) result = r.vert_walls() assert result == { (0, 0), (0, 1), (0, 2), (2, 0), (2, 1), (2, 2), }
def test_horz_walls_4x4_room(): r = room.Room(0, 0, 4, 4) result = r.horz_walls() assert result == { (0, 0), (1, 0), (2, 0), (3, 0), (0, 3), (1, 3), (2, 3), (3, 3), }
def test_horz_walls_3x3_room(): r = room.Room(0, 0, 3, 3) result = r.horz_walls() assert result == { (0, 0), (1, 0), (2, 0), (0, 2), (1, 2), (2, 2), }
def test_valid_door_neighbors__next_to_floors__facing_south(): m = gamemap.GameMap(width=20, height=20) r = room.Room(0, 0, 10, 3) m.rooms.append(r) m.tiles[3][2] = tiles.floor m.tiles[5][2] = tiles.floor assert not m.valid_door_neighbors(r, 4, 2)
def test_floor_light_dict__4x4_room(): r = room.Room(0, 0, 4, 4) assert r.floor_light_dict() == { (1, 1): {(0, 0), (1, 0), (0, 1)}, (2, 1): {(2, 0), (3, 0), (3, 1)}, (1, 2): {(0, 2), (0, 3), (1, 3)}, (2, 2): {(3, 2), (2, 3), (3, 3)} }
def test_all_coords__3x3_room(): r = room.Room(0, 0, 3, 3) result = r.all_coords() assert result == [ (0, 0), (0, 1), (0, 2), (1, 0), (1, 1), (1, 2), (2, 0), (2, 1), (2, 2), ]
def test_perimeter_3x3_room(): r = room.Room(0, 0, 3, 3) result = r.perimeter() assert result == { (0, 0), (1, 0), (2, 0), (0, 1), (2, 1), (0, 2), (1, 2), (2, 2), }
def test_valid_door_neighbors__facing_east(): m = gamemap.GameMap(width=10, height=10) r = room.Room(1, 1, 3, 3) m.rooms.append(r) # Need to set the tiles for the flanking check! m.tiles[3][1] = tiles.room_ne_corner m.tiles[3][3] = tiles.room_se_corner assert m.valid_door_neighbors(r, 3, 2)
def test_floor_light_dict__3x3_room(): r = room.Room(0, 0, 3, 3) assert r.floor_light_dict() == { (1, 1): { (0, 0), (1, 0), (2, 0), (0, 1), (2, 1), (0, 2), (1, 2), (2, 2) } }
def test_perimeter_4x4_room(): r = room.Room(0, 0, 4, 4) result = r.perimeter() assert result == { (0, 0), (1, 0), (2, 0), (3, 0), (0, 1), (3, 1), (0, 2), (3, 2), (0, 3), (1, 3), (2, 3), (3, 3) }
def main(): play = player.Player() done = False current_room = room.Room(True, False, False, False, "You are in a room.", []) while not done: done = command.read_cmd(input("> ").split(" "), current_room, play)
def test_wall_light_dict__3x3_room(): r = room.Room(0, 0, 3, 3) assert r.wall_light_dict() == { (0, 0): (1, 1), (1, 0): (1, 1), (2, 0): (1, 1), (0, 1): (1, 1), (2, 1): (1, 1), (0, 2): (1, 1), (1, 2): (1, 1), (2, 2): (1, 1), }
def test_wall_light_dict__4x4_room(): r = room.Room(0, 0, 4, 4) assert r.wall_light_dict() == { (0, 0): (1, 1), (1, 0): (1, 1), (2, 0): (2, 1), (3, 0): (2, 1), (0, 1): (1, 1), (3, 1): (2, 1), (0, 2): (1, 2), (3, 2): (2, 2), (0, 3): (1, 2), (1, 3): (1, 2), (2, 3): (2, 2), (3, 3): (2, 2) }
def test_room_coordinates(): m = gamemap.GameMap(width=20, height=20) r = room.Room(0, 0, 3, 3) m.rooms.append(r) result = m.room_coordinates() assert result == { (0, 0): r, (0, 1): r, (0, 2): r, (1, 0): r, (1, 1): r, (1, 2): r, (2, 0): r, (2, 1): r, (2, 2): r, }
def test_inner_4x3_square_room(): r = room.Room(0, 0, 4, 3) inner = r.inner assert inner[0] == slice(1, 3, None) # x slice assert inner[1] == slice(1, 2, None) # y slice
def test_corners(): r = room.Room(0, 0, 3, 3) assert r.corners() == {(0, 0), (0, 2), (2, 0), (2, 2)}
def test_inner_4x4_square_room(): r = room.Room(0, 0, 4, 4) inner = r.inner assert len(inner) == 2 # We should get a Tuple length 2 assert inner[0] == slice(1, 3, None) # x slice assert inner[1] == slice(1, 3, None) # y slice
def test_sw_corner(): r = room.Room(0, 0, 3, 3) assert r.sw_corner == (0, 2)
def test_se_corner(): r = room.Room(0, 0, 3, 3) assert r.se_corner == (2, 2)
def test_nw_corner(): r = room.Room(0, 0, 3, 3) assert r.nw_corner == (0, 0)
def test_ne_corner(): r = room.Room(0, 0, 3, 3) assert r.ne_corner == (2, 0)
def test_Room_init(): r = room.Room(0, 0, 3, 3) assert r
def test_center(): r = room.Room(0, 0, 3, 3) center = (1, 1) assert r.center == center
def test_init_low_h_raises_ValueError(): with pytest.raises(ValueError): room.Room(2, 2, 3, 2)
def test_init_negative_y_raises_ValueError(): with pytest.raises(ValueError): room.Room(2, -2, 2, 2)
def test_direction_facing__inner_point_returns_None(): r = room.Room(0, 0, 3, 3) assert r.direction_facing(1, 1) is None
def test_direction_facing__corner_returns_None(): r = room.Room(0, 0, 3, 3) assert r.direction_facing(0, 0) is None
def test_init_y2(): r = room.Room(0, 0, 5, 10) assert r.y2 == 9