add unit tests for psi and ksi

This commit is contained in:
wmayer
2018-03-31 15:43:45 +02:00
parent 8e0a6cb832
commit 6e0f81ea86

View File

@@ -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)))