fix failing unit tests by using adaptive delte value

This commit is contained in:
wmayer
2018-04-02 14:04:32 +02:00
parent 877fdffe39
commit 03af975134

View File

@@ -24,6 +24,10 @@ def compare(x, y):
class UnitBasicCases(unittest.TestCase):
def setUp(self):
par = FreeCAD.ParamGet("User parameter:BaseApp/Preferences/Units")
dec = par.GetInt("Decimals")
self.delta = math.pow(10,-dec)
def testConversions(self):
#tu = FreeCAD.Units.translateUnit
@@ -44,15 +48,15 @@ class UnitBasicCases(unittest.TestCase):
psi = FreeCAD.Units.parseQuantity("1psi")
mpa = psi.getValueAs("MPa").Value
self.assertAlmostEqual(0.006894744825, mpa, delta=0.00001)
self.assertAlmostEqual(0.006894744825, mpa, delta=self.delta)
kpa = psi.getValueAs("kPa").Value
self.assertAlmostEqual(6.894744825494, kpa, delta=0.00001)
self.assertAlmostEqual(6.894744825494, kpa, delta=self.delta)
ksi = FreeCAD.Units.parseQuantity("1ksi")
mpa = ksi.getValueAs("MPa").Value
self.assertAlmostEqual(6.894744825494, mpa, delta=0.00001)
self.assertAlmostEqual(6.894744825494, mpa, delta=self.delta)
kpa = ksi.getValueAs("kPa").Value
self.assertAlmostEqual(6894.744825494, kpa, delta=0.00001)
self.assertAlmostEqual(6894.744825494, kpa, delta=self.delta)
def testSelfConsistency(self):
qu = FreeCAD.Units.Quantity("0.23 W/m/K")
@@ -70,13 +74,13 @@ class UnitBasicCases(unittest.TestCase):
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)
self.assertAlmostEqual(1, v.Value, msg="Failed with \"{0}\" scheme: {1} != 1".format(schemes[i], v.Value), delta=self.delta)
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)
self.assertAlmostEqual(1, v.Value, msg="Failed with \"{0}\" scheme: {1} != 1".format(schemes[i], v.Value), delta=self.delta)
def testTrigonometric(self):
#tu=FreeCAD.Units.translateUnit