Add a Python test to the suite to test surface extraction

This commit is contained in:
Matt Williams 2012-06-21 22:25:20 +01:00
parent 869d1a8d6a
commit 42e2ebf734
2 changed files with 30 additions and 0 deletions

View File

@ -35,6 +35,11 @@ REMOVE_DEFINITIONS(-DQT_GUI_LIB) #Make sure the tests don't link to the QtGui
# ADD_TEST(ClassNameFeature1Test ${LATEST_TEST} testFeature1)
# ADD_TEST(ClassNameFeature2Test ${LATEST_TEST} testFeature2)
# Python tests
IF(BUILD_BINDINGS)
ADD_TEST(PythonSurfaceExtractorTest python ${CMAKE_CURRENT_SOURCE_DIR}/TestSurfaceExtractor.py)
ENDIF()
# AmbientOcclusionGenerator tests
CREATE_TEST(TestAmbientOcclusionGenerator.h TestAmbientOcclusionGenerator.cpp TestAmbientOcclusionGenerator)
ADD_TEST(AmbientOcclusionGeneratorExecuteTest ${LATEST_TEST} testExecute)

View File

@ -0,0 +1,25 @@
# -*- coding: utf-8 -*-
import sys
sys.path.append("../library/bindings/")
import unittest
class TestSurfaceExtractor(unittest.TestCase):
def setUp(self):
import PolyVoxCore
#Create a small volume
r = PolyVoxCore.Region(PolyVoxCore.Vector3DInt32(0,0,0), PolyVoxCore.Vector3DInt32(31,31,31))
vol = PolyVoxCore.SimpleVolumeDensity8(r)
#Set one single voxel to have a reasonably high density
vol.setVoxelAt(PolyVoxCore.Vector3DInt32(5, 5, 5), PolyVoxCore.Density8(200))
self.mesh = PolyVoxCore.SurfaceMeshPositionMaterialNormal()
extractor = PolyVoxCore.SurfaceExtractorSimpleVolumeDensity8(vol, r, self.mesh)
extractor.execute()
def test_num_vertices(self):
self.assertEqual(self.mesh.getNoOfVertices(), 6)
if __name__ == '__main__':
unittest.main()