Skip to content
This repository has been archived by the owner on Nov 5, 2024. It is now read-only.

Commit

Permalink
remove old tests
Browse files Browse the repository at this point in the history
  • Loading branch information
dwastberg committed Mar 26, 2024
1 parent abb15a7 commit 3b5897e
Show file tree
Hide file tree
Showing 5 changed files with 103 additions and 99 deletions.
9 changes: 9 additions & 0 deletions sandbox/import_test.py
Original file line number Diff line number Diff line change
@@ -0,0 +1,9 @@
from dtcc_model import MultiSurface

import dtcc_builder

modules = [m for m in dir(dtcc_builder) if not m.startswith("__")]
modules.sort()

for m in modules:
print(m)
42 changes: 21 additions & 21 deletions tests/python/test_builder_datamodel.py
Original file line number Diff line number Diff line change
Expand Up @@ -16,24 +16,24 @@ def test_convert_pointcloud(self):
self.assertEqual(len(builder_pc.points), 8148)


class TestBuilderCity(unittest.TestCase):
def test_convert_city(self):
city = io.load_city(data_dir / "MinimalCase" / "PropertyMap.shp")
builder_city = builder.model.create_builder_city(city)
self.assertEqual(len(builder_city.buildings), len(city.buildings))
self.assertEqual(len(builder_city.buildings), 5)

def test_convert_city_with_holes(self):
city = io.load_city(data_dir / "MinimalCase" / "PropertyMap.shp")
builder_city = builder.model.create_builder_city(city)
self.assertEqual(len(builder_city.buildings[0].footprint.holes), 0)
self.assertEqual(len(builder_city.buildings[4].footprint.holes), 1)


class TestBuilderPolygon(unittest.TestCase):
def test_convert_polygon(self):
city = io.load_city(data_dir / "MinimalCase" / "PropertyMap.shp")
footprint = city.buildings[0].footprint
builder_polygon = builder.model.create_builder_polygon(footprint)
self.assertEqual(len(builder_polygon.vertices), 4)
self.assertEqual(footprint.exterior.coords[0][0], builder_polygon.vertices[0].x)
# class TestBuilderCity(unittest.TestCase):
# def test_convert_city(self):
# city = io.load_city(data_dir / "MinimalCase" / "PropertyMap.shp")
# builder_city = builder.model.create_builder_city(city)
# self.assertEqual(len(builder_city.buildings), len(city.buildings))
# self.assertEqual(len(builder_city.buildings), 5)

# def test_convert_city_with_holes(self):
# city = io.load_city(data_dir / "MinimalCase" / "PropertyMap.shp")
# builder_city = builder.model.create_builder_city(city)
# self.assertEqual(len(builder_city.buildings[0].footprint.holes), 0)
# self.assertEqual(len(builder_city.buildings[4].footprint.holes), 1)


# class TestBuilderPolygon(unittest.TestCase):
# def test_convert_polygon(self):
# city = io.load_city(data_dir / "MinimalCase" / "PropertyMap.shp")
# footprint = city.buildings[0].footprint
# builder_polygon = builder.model.create_builder_polygon(footprint)
# self.assertEqual(len(builder_polygon.vertices), 4)
# self.assertEqual(footprint.exterior.coords[0][0], builder_polygon.vertices[0].x)
30 changes: 15 additions & 15 deletions tests/python/test_city_processors.py
Original file line number Diff line number Diff line change
Expand Up @@ -6,21 +6,21 @@
project_dir = (Path(__file__).parent / "../data" / "MinimalCase").resolve()


class TestComputePoints(unittest.TestCase):
def test_compute_building_points(self):
pc = io.load_pointcloud(project_dir / "pointcloud.las")
city = io.load_city(project_dir / "PropertyMap.shp")
# class TestComputePoints(unittest.TestCase):
# def test_compute_building_points(self):
# pc = io.load_pointcloud(project_dir / "pointcloud.las")
# city = io.load_city(project_dir / "PropertyMap.shp")

city = city.compute_building_points(pc)
self.assertEqual(len(city.buildings[0].roofpoints), 216)
self.assertEqual(len(city.buildings[3].roofpoints), 572)
# city = city.compute_building_points(pc)
# self.assertEqual(len(city.buildings[0].roofpoints), 216)
# self.assertEqual(len(city.buildings[3].roofpoints), 572)

def test_compute_building_heights(self):
pc = io.load_pointcloud(project_dir / "pointcloud.las")
city = io.load_city(project_dir / "PropertyMap.shp")
# def test_compute_building_heights(self):
# pc = io.load_pointcloud(project_dir / "pointcloud.las")
# city = io.load_city(project_dir / "PropertyMap.shp")

city = city.compute_building_points(pc)
city = city.terrain_from_pointcloud(pc, 1)
city = city.compute_building_heights()
self.assertEqual(city.buildings[0].height, 5.0)
self.assertEqual(city.buildings[3].height, 10.0)
# city = city.compute_building_points(pc)
# city = city.terrain_from_pointcloud(pc, 1)
# city = city.compute_building_heights()
# self.assertEqual(city.buildings[0].height, 5.0)
# self.assertEqual(city.buildings[3].height, 10.0)
2 changes: 1 addition & 1 deletion tests/python/test_extrude_surface.py
Original file line number Diff line number Diff line change
@@ -1,4 +1,4 @@
from dtcc_builder.geometry_builders.surface import extrude_building, extrude_surface
from dtcc_builder.geometry_builders.surface import extrude_surface
import unittest
import numpy as np

Expand Down
119 changes: 57 additions & 62 deletions tests/python/test_meshing.py
Original file line number Diff line number Diff line change
@@ -1,9 +1,4 @@
from dtcc_builder.meshing import (
extrude_building,
mesh_multisurface,
mesh_surface,
mesh_multisurfaces,
)
from dtcc_builder.meshing import mesh_multisurface, mesh_surface, mesh_multisurfaces
import dtcc_io as io
from dtcc_model import Mesh, Building, Surface, MultiSurface
import numpy as np
Expand All @@ -15,61 +10,61 @@
project_dir = (Path(__file__).parent / "../data" / "MinimalCase").resolve()


class TestExtrudeBuilding(unittest.TestCase):
def test_extrude_building(self):
city = io.load_city(project_dir / "PropertyMap.shp")
building = city.buildings[0]
building.ground_level = 1
building.height = 5
mesh = extrude_building(building, max_mesh_size=10, min_mesh_angle=25)
self.assertIsInstance(mesh, Mesh)
self.assertEqual(len(mesh.vertices), 8)
self.assertEqual(len(mesh.faces), 10)
self.assertEqual(mesh.vertices[:, 2].min(), 1)
self.assertEqual(mesh.vertices[:, 2].max(), 6)

def test_extrude_building_ground_to_zero(self):
city = io.load_city(project_dir / "PropertyMap.shp")
building = city.buildings[0]
building.ground_level = 1
building.height = 5
mesh = extrude_building(
building, max_mesh_size=10, min_mesh_angle=25, ground_to_zero=True
)
self.assertIsInstance(mesh, Mesh)
self.assertEqual(len(mesh.vertices), 8)
self.assertEqual(len(mesh.faces), 10)
self.assertEqual(mesh.vertices[:, 2].min(), 0)
self.assertEqual(mesh.vertices[:, 2].max(), 5)

def test_extrude_building_capped(self):
city = io.load_city(project_dir / "PropertyMap.shp")
building = city.buildings[0]
building.ground_level = 1
building.height = 5
mesh = extrude_building(
building, max_mesh_size=10, min_mesh_angle=25, cap_base=True
)
self.assertIsInstance(mesh, Mesh)
self.assertEqual(len(mesh.vertices), 12)
self.assertEqual(len(mesh.faces), 12)

# def test_mesh_per_floor(self):
# building = Building(
# footprint=Polygon([(0, 0), (0, 10), (10, 10), (10, 0)]),
# height=20,
# floors=4,
# ground_level=5,
# )
# mesh = extrude_building(
# building, max_mesh_size=10, min_mesh_angle=25, per_floor=True, cap_base=True
# )
# self.assertEqual(
# len(mesh.faces), 8 * 4 + 5 * 2
# ) # 8 wall faces per floor, 2 roof faces per floor + 2 for the base
# self.assertEqual(
# len(mesh.vertices), 8 * 4 + 4
# ) # 8 vertices per floor + 4 for the base
# class TestExtrudeBuilding(unittest.TestCase):
# def test_extrude_building(self):
# city = io.load_city(project_dir / "PropertyMap.shp")
# building = city.buildings[0]
# building.ground_level = 1
# building.height = 5
# mesh = extrude_building(building, max_mesh_size=10, min_mesh_angle=25)
# self.assertIsInstance(mesh, Mesh)
# self.assertEqual(len(mesh.vertices), 8)
# self.assertEqual(len(mesh.faces), 10)
# self.assertEqual(mesh.vertices[:, 2].min(), 1)
# self.assertEqual(mesh.vertices[:, 2].max(), 6)

# def test_extrude_building_ground_to_zero(self):
# city = io.load_city(project_dir / "PropertyMap.shp")
# building = city.buildings[0]
# building.ground_level = 1
# building.height = 5
# mesh = extrude_building(
# building, max_mesh_size=10, min_mesh_angle=25, ground_to_zero=True
# )
# self.assertIsInstance(mesh, Mesh)
# self.assertEqual(len(mesh.vertices), 8)
# self.assertEqual(len(mesh.faces), 10)
# self.assertEqual(mesh.vertices[:, 2].min(), 0)
# self.assertEqual(mesh.vertices[:, 2].max(), 5)

# def test_extrude_building_capped(self):
# city = io.load_city(project_dir / "PropertyMap.shp")
# building = city.buildings[0]
# building.ground_level = 1
# building.height = 5
# mesh = extrude_building(
# building, max_mesh_size=10, min_mesh_angle=25, cap_base=True
# )
# self.assertIsInstance(mesh, Mesh)
# self.assertEqual(len(mesh.vertices), 12)
# self.assertEqual(len(mesh.faces), 12)

# def test_mesh_per_floor(self):
# building = Building(
# footprint=Polygon([(0, 0), (0, 10), (10, 10), (10, 0)]),
# height=20,
# floors=4,
# ground_level=5,
# )
# mesh = extrude_building(
# building, max_mesh_size=10, min_mesh_angle=25, per_floor=True, cap_base=True
# )
# self.assertEqual(
# len(mesh.faces), 8 * 4 + 5 * 2
# ) # 8 wall faces per floor, 2 roof faces per floor + 2 for the base
# self.assertEqual(
# len(mesh.vertices), 8 * 4 + 4
# ) # 8 vertices per floor + 4 for the base


class TestMeshSurfaces(unittest.TestCase):
Expand Down Expand Up @@ -101,7 +96,7 @@ def test_mesh_triangle_surface(self):
]
)
)
mesh = mesh_surface(surface, max_mesh_edge_size=5)
mesh = mesh_surface(surface, triangle_size=5)
self.assertEqual(len(mesh.vertices), 13)
self.assertEqual(len(mesh.faces), 16)
self.assertAlmostEqual(mesh.vertices[:, 2].min(), 5)
Expand Down

0 comments on commit 3b5897e

Please sign in to comment.