Files
cadquery/tests/TestCadObjects.py

65 lines
1.8 KiB
Python
Raw Normal View History

2013-04-14 18:39:47 -04:00
#system modules
import sys
2013-04-16 22:29:06 -04:00
import unittest
from tests import BaseTest
import FreeCAD
import Part
2013-04-16 22:29:06 -04:00
from cadquery import *
2013-04-14 18:39:47 -04:00
class TestCadObjects(BaseTest):
def testVectorConstructors(self):
v1 = Vector(1, 2, 3)
v2 = Vector((1, 2, 3))
v3 = Vector(FreeCAD.Base.Vector(1, 2, 3))
2013-04-14 18:39:47 -04:00
for v in [v1, v2, v3]:
self.assertTupleAlmostEquals((1, 2, 3), v.toTuple(), 4)
2013-04-14 18:39:47 -04:00
def testVertex(self):
"""
Tests basic vertex functions
"""
v = Vertex(Part.Vertex(1, 1, 1))
self.assertEqual(1, v.X)
self.assertEquals(Vector, type(v.Center()))
2013-04-14 18:39:47 -04:00
def testBasicBoundingBox(self):
v = Vertex(Part.Vertex(1, 1, 1))
v2 = Vertex(Part.Vertex(2, 2, 2))
self.assertEquals(BoundBox, type(v.BoundingBox()))
self.assertEquals(BoundBox, type(v2.BoundingBox()))
2013-04-14 18:39:47 -04:00
bb1 = v.BoundingBox().add(v2.BoundingBox())
self.assertEquals(bb1.xlen, 1.0)
2013-04-14 18:39:47 -04:00
def testEdgeWrapperCenter(self):
e = Edge(Part.makeCircle(2.0, FreeCAD.Base.Vector(1, 2, 3)))
2013-04-14 18:39:47 -04:00
self.assertTupleAlmostEquals((1.0, 2.0, 3.0), e.Center().toTuple(), 3)
2013-04-14 18:39:47 -04:00
def testDot(self):
v1 = Vector(2, 2, 2)
v2 = Vector(1, -1, 1)
self.assertEquals(2.0, v1.dot(v2))
2013-04-14 18:39:47 -04:00
def testVectorAdd(self):
result = Vector(1, 2, 0) + Vector(0, 0, 3)
self.assertTupleAlmostEquals((1.0, 2.0, 3.0), result.toTuple(), 3)
2013-04-14 18:39:47 -04:00
def testTranslate(self):
e = Shape.cast(Part.makeCircle(2.0, FreeCAD.Base.Vector(1, 2, 3)))
e2 = e.translate(Vector(0, 0, 1))
2013-04-14 18:39:47 -04:00
self.assertTupleAlmostEquals((1.0, 2.0, 4.0), e2.Center().toTuple(), 3)
2013-04-14 18:39:47 -04:00
def testVertices(self):
e = Shape.cast(Part.makeLine((0, 0, 0), (1, 1, 0)))
self.assertEquals(2, len(e.Vertices()))
2013-04-16 22:29:06 -04:00
if __name__ == '__main__':
unittest.main()