add unit tests for psi and ksi
This commit is contained in:
@@ -42,6 +42,18 @@ class UnitBasicCases(unittest.TestCase):
|
||||
#self.failUnless(compare(tu('1fo(3+7/16)in'),392.112500))thisgivesaparsersyntaxerror!!!
|
||||
self.failUnless(compare(tu('1\'(3+7/16)"'), 392.112500))
|
||||
|
||||
psi = FreeCAD.Units.parseQuantity("1psi")
|
||||
mpa = psi.getValueAs("MPa").Value
|
||||
self.assertAlmostEqual(0.006894744825, mpa, delta=0.00001)
|
||||
kpa = psi.getValueAs("kPa").Value
|
||||
self.assertAlmostEqual(6.894744825494, kpa, delta=0.00001)
|
||||
|
||||
ksi = FreeCAD.Units.parseQuantity("1ksi")
|
||||
mpa = ksi.getValueAs("MPa").Value
|
||||
self.assertAlmostEqual(6.894744825494, mpa, delta=0.00001)
|
||||
kpa = ksi.getValueAs("kPa").Value
|
||||
self.assertAlmostEqual(6894.744825494, kpa, delta=0.00001)
|
||||
|
||||
def testSelfConsistency(self):
|
||||
qu = FreeCAD.Units.Quantity("0.23 W/m/K")
|
||||
self.assertTrue(ts(qu), ts2(qu))
|
||||
@@ -50,6 +62,22 @@ class UnitBasicCases(unittest.TestCase):
|
||||
qu = FreeCAD.Units.Quantity("237.000 W/mm/K")
|
||||
self.assertTrue(ts(qu), ts2(qu))
|
||||
|
||||
def testSchemes(self):
|
||||
schemes = FreeCAD.Units.listSchemas()
|
||||
num = len(schemes)
|
||||
|
||||
psi = FreeCAD.Units.parseQuantity("1psi")
|
||||
for i in range(num):
|
||||
t = FreeCAD.Units.schemaTranslate(psi, i)
|
||||
v = FreeCAD.Units.parseQuantity(t[0]).getValueAs("psi")
|
||||
self.assertAlmostEqual(1, v.Value, msg="Failed with \"{0}\" scheme: {1} != 1".format(schemes[i], v.Value), delta=0.00001)
|
||||
|
||||
ksi = FreeCAD.Units.parseQuantity("1ksi")
|
||||
for i in range(num):
|
||||
t = FreeCAD.Units.schemaTranslate(ksi, i)
|
||||
v = FreeCAD.Units.parseQuantity(t[0]).getValueAs("ksi")
|
||||
self.assertAlmostEqual(1, v.Value, msg="Failed with \"{0}\" scheme: {1} != 1".format(schemes[i], v.Value), delta=0.00001)
|
||||
|
||||
def testTrigonometric(self):
|
||||
#tu=FreeCAD.Units.translateUnit
|
||||
self.failUnless(compare(tu('sin(pi)'), math.sin(math.pi)))
|
||||
|
||||
Reference in New Issue
Block a user