def test_get_base_units_different_exponent(self): sysname = 'mysys3' ureg = UnitRegistry() g = ureg.get_group('test-imperial') g.add_units('inch', 'yard', 'pint') c = ureg.get_compatible_units('meter', 'test-imperial') lines = ['@system %s using test-imperial' % sysname, 'pint:meter', ] s = System.from_lines(lines, ureg.get_base_units, g._groups_systems) # base_factor, destination_units c = ureg.get_base_units('inch', system=sysname) self.assertAlmostEqual(c[0], 0.326, places=3) self.assertEqual(c[1], {'pint': 1./3}) c = ureg.get_base_units('cm', system=sysname) self.assertAlmostEqual(c[0], 0.1283, places=3) self.assertEqual(c[1], {'pint': 1./3}) c = ureg.get_base_units('inch**2', system=sysname) self.assertAlmostEqual(c[0], 0.326**2, places=3) self.assertEqual(c[1], {'pint': 2./3}) c = ureg.get_base_units('cm**2', system=sysname) self.assertAlmostEqual(c[0], 0.1283**2, places=3) self.assertEqual(c[1], {'pint': 2./3})
def test_get_base_units_different_exponent(self): sysname = 'mysys3' ureg = UnitRegistry() g = ureg.get_group('test-imperial') g.add_units('inch', 'yard', 'pint') c = ureg.get_compatible_units('meter', 'test-imperial') lines = [ '@system %s using test-imperial' % sysname, 'pint:meter', ] s = System.from_lines(lines, ureg.get_base_units, g._groups_systems) # base_factor, destination_units c = ureg.get_base_units('inch', system=sysname) self.assertAlmostEqual(c[0], 0.326, places=3) self.assertEqual(c[1], {'pint': 1. / 3}) c = ureg.get_base_units('cm', system=sysname) self.assertAlmostEqual(c[0], 0.1283, places=3) self.assertEqual(c[1], {'pint': 1. / 3}) c = ureg.get_base_units('inch**2', system=sysname) self.assertAlmostEqual(c[0], 0.326**2, places=3) self.assertEqual(c[1], {'pint': 2. / 3}) c = ureg.get_base_units('cm**2', system=sysname) self.assertAlmostEqual(c[0], 0.1283**2, places=3) self.assertEqual(c[1], {'pint': 2. / 3})
def test_members_group(self): lines = ['@system mk', 'meter', 'kilogram', ] d = {} root = self._build_root(d) root.add_units('second') s = System.from_lines(lines, lambda x: x, d) self.assertEqual(s.members, frozenset(['second']))
def test_simple_using(self): lines = ['@system mks using g1', 'meter', 'kilogram', 'second', ] d = {} root = self._build_root(d) s = System.from_lines(lines, lambda x: x, d) s._used_groups = set(['root', 'g1'])
def test_members_group(self): lines = [ '@system mk', 'meter', 'kilogram', ] d = {} root = self._build_root(d) root.add_units('second') s = System.from_lines(lines, lambda x: x, d) self.assertEqual(s.members, frozenset(['second']))
def test_simple_using(self): lines = [ '@system mks using g1', 'meter', 'kilogram', 'second', ] d = {} root = self._build_root(d) s = System.from_lines(lines, lambda x: x, d) s._used_groups = set(['root', 'g1'])
def test_get_compatible_units(self): sysname = 'mysys1' ureg = UnitRegistry() g = ureg.get_group('test-imperial') g.add_units('inch', 'yard', 'pint') c = ureg.get_compatible_units('meter', 'test-imperial') self.assertEqual(c, frozenset([ureg.inch, ureg.yard])) lines = ['@system %s using test-imperial' % sysname, 'inch', ] s = System.from_lines(lines, lambda x: x, g._groups_systems) c = ureg.get_compatible_units('meter', sysname) self.assertEqual(c, frozenset([ureg.inch, ureg.yard]))
def test_get_compatible_units(self): sysname = 'mysys1' ureg = UnitRegistry() g = ureg.get_group('test-imperial') g.add_units('inch', 'yard', 'pint') c = ureg.get_compatible_units('meter', 'test-imperial') self.assertEqual(c, frozenset([ureg.inch, ureg.yard])) lines = [ '@system %s using test-imperial' % sysname, 'inch', ] s = System.from_lines(lines, lambda x: x, g._groups_systems) c = ureg.get_compatible_units('meter', sysname) self.assertEqual(c, frozenset([ureg.inch, ureg.yard]))
def test_get_base_units_relation(self): sysname = 'mysys4' ureg = UnitRegistry() g = ureg.get_group('test-imperial') g.add_units('inch', 'yard', 'pint') lines = ['@system %s using test-imperial' % sysname, 'mph:meter', ] s = System.from_lines(lines, ureg.get_base_units, g._groups_systems) # base_factor, destination_units c = ureg.get_base_units('inch', system=sysname) self.assertAlmostEqual(c[0], 0.0568, places=3) self.assertEqual(c[1], {'mph': 1, 'second': 1}) c = ureg.get_base_units('kph', system=sysname) self.assertAlmostEqual(c[0], .6214, places=4) self.assertEqual(c[1], {'mph': 1})
def test_get_base_units(self): sysname = 'mysys2' ureg = UnitRegistry() g = ureg.get_group('test-imperial') g.add_units('inch', 'yard', 'pint') lines = ['@system %s using test-imperial' % sysname, 'inch', ] s = System.from_lines(lines, ureg.get_base_units, g._groups_systems) # base_factor, destination_units c = ureg.get_base_units('inch', system=sysname) self.assertAlmostEqual(c[0], 1) self.assertEqual(c[1], {'inch': 1}) c = ureg.get_base_units('cm', system=sysname) self.assertAlmostEqual(c[0], 1./2.54) self.assertEqual(c[1], {'inch': 1})
def test_get_base_units_relation(self): sysname = 'mysys4' ureg = UnitRegistry() g = ureg.get_group('test-imperial') g.add_units('inch', 'yard', 'pint') lines = [ '@system %s using test-imperial' % sysname, 'mph:meter', ] s = System.from_lines(lines, ureg.get_base_units, g._groups_systems) # base_factor, destination_units c = ureg.get_base_units('inch', system=sysname) self.assertAlmostEqual(c[0], 0.0568, places=3) self.assertEqual(c[1], {'mph': 1, 'second': 1}) c = ureg.get_base_units('kph', system=sysname) self.assertAlmostEqual(c[0], .6214, places=4) self.assertEqual(c[1], {'mph': 1})
def test_get_base_units(self): sysname = 'mysys2' ureg = UnitRegistry() g = ureg.get_group('test-imperial') g.add_units('inch', 'yard', 'pint') lines = [ '@system %s using test-imperial' % sysname, 'inch', ] s = System.from_lines(lines, ureg.get_base_units, g._groups_systems) # base_factor, destination_units c = ureg.get_base_units('inch', system=sysname) self.assertAlmostEqual(c[0], 1) self.assertEqual(c[1], {'inch': 1}) c = ureg.get_base_units('cm', system=sysname) self.assertAlmostEqual(c[0], 1. / 2.54) self.assertEqual(c[1], {'inch': 1})