
git-svn-id: https://free-cad.svn.sourceforge.net/svnroot/free-cad/trunk@5000 e8eeb9e2-ec13-0410-a4a9-efa5cf37419d
39 lines
1.7 KiB
Python
39 lines
1.7 KiB
Python
# (c) Juergen Riegel (juergen.riegel@web.de) 20010 LGPL
|
|
|
|
import FreeCAD, os, unittest, math
|
|
|
|
|
|
#---------------------------------------------------------------------------
|
|
# define the functions to test the FreeCAD UnitApi code
|
|
#---------------------------------------------------------------------------
|
|
|
|
def compare(x,y): return math.fabs(x-y)<0.00001
|
|
|
|
class UnitBasicCases(unittest.TestCase):
|
|
|
|
def testConversions(self):
|
|
tu = FreeCAD.Units.translateUnit
|
|
self.failUnless(compare( tu('10 m') , 10000.0 ) )
|
|
self.failUnless(compare( tu('3/8 in') , 0.014763779527 ) )
|
|
self.failUnless(compare( tu('100 km/h') , 27777.77777777 ) )
|
|
self.failUnless(compare( tu('m^2*kg*s^-3*A^-2') , 1000000.0 ) )
|
|
self.failUnless(compare( tu('(m^2*kg)/(A^2*s^3)') , 1000000.0 ) )
|
|
self.failUnless(compare( tu('2*pi rad') , 360.0 ) )
|
|
self.failUnless(compare( tu('2*pi rad') / tu('gon') , 400.0 ) )
|
|
|
|
def testImperial(self):
|
|
tu = FreeCAD.Units.translateUnit
|
|
self.failUnless(compare( tu('3/8 in') , 0.014763779527 ) )
|
|
self.failUnless(compare( tu('1fo+(3+7/16)in') , 392.112500 ) )
|
|
self.failUnless(compare( tu('1\'+(3+7/16)"') , 392.112500 ) )
|
|
|
|
def testTrigonometric(self):
|
|
tu = FreeCAD.Units.translateUnit
|
|
self.failUnless(compare( tu('sin(pi)') , math.sin(math.pi) ) )
|
|
self.failUnless(compare( tu('cos(pi)') , math.cos(math.pi) ) )
|
|
self.failUnless(compare( tu('tan(pi)') , math.tan(math.pi) ) )
|
|
|
|
|
|
|
|
|