Python source
git-svn-id: http://www.openmesh.org/svnrepo/OpenMesh/trunk@1171 fdac6126-5c0c-442c-9429-916003d36597
This commit is contained in:
71
src/Python/Unittests/test_python.py
Normal file
71
src/Python/Unittests/test_python.py
Normal file
@@ -0,0 +1,71 @@
|
||||
import unittest
|
||||
import openmesh
|
||||
|
||||
class Python(unittest.TestCase):
|
||||
|
||||
def setUp(self):
|
||||
self.mesh = openmesh.TriMesh()
|
||||
|
||||
# Add some vertices
|
||||
self.vhandle = []
|
||||
|
||||
self.vhandle.append(self.mesh.add_vertex(openmesh.Vec3d(0, 1, 0)))
|
||||
self.vhandle.append(self.mesh.add_vertex(openmesh.Vec3d(1, 0, 0)))
|
||||
self.vhandle.append(self.mesh.add_vertex(openmesh.Vec3d(2, 1, 0)))
|
||||
self.vhandle.append(self.mesh.add_vertex(openmesh.Vec3d(0,-1, 0)))
|
||||
self.vhandle.append(self.mesh.add_vertex(openmesh.Vec3d(2,-1, 0)))
|
||||
|
||||
# Add four faces using Python lists
|
||||
vertex_list = [self.vhandle[0], self.vhandle[1], self.vhandle[2]]
|
||||
self.mesh.add_face(vertex_list)
|
||||
vertex_list = [self.vhandle[1], self.vhandle[3], self.vhandle[4]]
|
||||
self.mesh.add_face(vertex_list)
|
||||
vertex_list = [self.vhandle[0], self.vhandle[3], self.vhandle[1]]
|
||||
self.mesh.add_face(vertex_list)
|
||||
vertex_list = [self.vhandle[2], self.vhandle[1], self.vhandle[4]]
|
||||
self.mesh.add_face(vertex_list)
|
||||
|
||||
# Test setup:
|
||||
# 0 ==== 2
|
||||
# |\ 0 /|
|
||||
# | \ / |
|
||||
# |2 1 3|
|
||||
# | / \ |
|
||||
# |/ 1 \|
|
||||
# 3 ==== 4
|
||||
|
||||
def test_python_iterator(self):
|
||||
# Iterate over all vertices
|
||||
indices = [0, 1, 2, 3, 4]
|
||||
for v, idx in zip(self.mesh.vertices(), indices):
|
||||
self.assertEqual(v.idx(), idx)
|
||||
|
||||
def test_python_circulator(self):
|
||||
# Iterate around vertex 1 at the middle
|
||||
indices = [4, 3, 0, 2]
|
||||
for v, idx in zip(self.mesh.vv(self.vhandle[1]), indices):
|
||||
self.assertEqual(v.idx(), idx)
|
||||
|
||||
def test_property_manager(self):
|
||||
# Check if vertex property exists
|
||||
self.assertFalse(openmesh.VPropertyManager.property_exists(self.mesh, "prop"))
|
||||
|
||||
# Create a new vertex property
|
||||
propman = openmesh.VPropertyManager(self.mesh, "prop")
|
||||
self.assertTrue(propman.property_exists(self.mesh, "prop"))
|
||||
|
||||
# Check initial property values
|
||||
for v in self.mesh.vertices():
|
||||
self.assertEqual(propman[v], None)
|
||||
|
||||
# Set property values
|
||||
propman.set_range(self.mesh.vertices(), 0.0)
|
||||
|
||||
# Check again
|
||||
for v in self.mesh.vertices():
|
||||
self.assertEqual(propman[v], 0.0)
|
||||
|
||||
|
||||
if __name__ == '__main__':
|
||||
suite = unittest.TestLoader().loadTestsFromTestCase(Python)
|
||||
unittest.TextTestRunner(verbosity=2).run(suite)
|
||||
Reference in New Issue
Block a user