def testDiscoverCloseUnitMatches() -> None: unit_database = UnitDatabase.CreateDefaultSingleton() assert unit_database.FindSimilarUnitMatches("kg/day") == ["kg/d"] assert unit_database.FindSimilarUnitMatches("bbls/d") == [ "bbl/d", "bbl/d2" ] assert unit_database.FindSimilarUnitMatches("mg/l") == ["mg/L"]
def testAllValidTemperatureUnitsHaveSameDefaultCategory() -> None: """'temperature' units should have 'temperature' as defined category (#45)""" unit_database = UnitDatabase.CreateDefaultSingleton() expected_category = "temperature" valid_temperature_units = unit_database.GetValidUnits(expected_category) for unit in valid_temperature_units: T = units.Scalar(1.0, unit) assert T.category == expected_category
def testDivisionError(): unit_database = UnitDatabase.CreateDefaultSingleton() for category, category_info in six.iteritems( unit_database.categories_to_quantity_types): base_unit = category_info.default_unit for unit in unit_database.GetValidUnits(category): for i in [-1, 0, 1]: try: unit_database.Convert(category, base_unit, unit, i) except Exception as e: Reraise( e, "Error converting: from: %s to: %s" % (base_unit, unit)) try: unit_database.Convert(category, unit, base_unit, i) except Exception as e: Reraise( e, "Error converting: from: %s to: %s" % (unit, base_unit))
def testDivisionError(): unit_database = UnitDatabase.CreateDefaultSingleton() for category, category_info in unit_database.categories_to_quantity_types.items( ): base_unit = category_info.default_unit for unit in unit_database.GetValidUnits(category): for i in [-1, 0, 1]: try: unit_database.Convert(category, base_unit, unit, i) except Exception as e: raise TypeError( f"Error converting: from: {base_unit} to: {unit}" ) from e try: unit_database.Convert(category, unit, base_unit, i) except Exception as e: raise TypeError( f"Error converting: from: {unit} to: {base_unit}" ) from e
def testScfPerBblToM3ToM3() -> None: unit_database = UnitDatabase.CreateDefaultSingleton() expected = 0.17776487178535644 obtained = unit_database.Convert("standard volume per volume", "scf/bbl", "scm(15C)/m3", 1.0) assert approx(abs(obtained - expected), 7) == 0
def testMegagramPerCubicMeterToKilogramPerCubicMeter() -> None: unit_database = UnitDatabase.CreateDefaultSingleton() expected = 1000 obtained = unit_database.Convert("density", "Mg/m3", "kg/m3", 1) assert obtained == expected
def testDefaultCaption() -> None: unit_database = UnitDatabase.CreateDefaultSingleton() category_info = unit_database.GetCategoryInfo("angle per volume") assert category_info.caption == "Angle per Volume"