From 6e0f81ea864a58d65e79df5051613bb5e1216b75 Mon Sep 17 00:00:00 2001 From: wmayer Date: Sat, 31 Mar 2018 15:43:45 +0200 Subject: [PATCH] add unit tests for psi and ksi --- src/Mod/Test/UnitTests.py | 28 ++++++++++++++++++++++++++++ 1 file changed, 28 insertions(+) diff --git a/src/Mod/Test/UnitTests.py b/src/Mod/Test/UnitTests.py index dab8680787..65a55b0f27 100644 --- a/src/Mod/Test/UnitTests.py +++ b/src/Mod/Test/UnitTests.py @@ -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)))