예제 #1
0
    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})
예제 #2
0
    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 = ureg.System.from_lines(lines, ureg.get_base_units)
        ureg._systems[s.name] = s

        # 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.0 / 3})

        c = ureg.get_base_units("cm", system=sysname)
        self.assertAlmostEqual(c[0], 0.1283, places=3)
        self.assertEqual(c[1], {"pint": 1.0 / 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.0 / 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.0 / 3})
예제 #3
0
    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 = ureg.System.from_lines(lines, ureg.get_base_units)
        ureg._systems[s.name] = s
        # base_factor, destination_units
        c = ureg.get_base_units("inch", system=sysname)
        self.assertAlmostEqual(c[0], 0.056, places=2)
        self.assertEqual(c[1], {"mph": 1, "second": 1})

        c = ureg.get_base_units("kph", system=sysname)
        self.assertAlmostEqual(c[0], 0.6213, places=3)
        self.assertEqual(c[1], {"mph": 1})
예제 #4
0
    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 = ureg.System.from_lines(lines, ureg.get_base_units)
        ureg._systems[s.name] = s

        # 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.0 / 2.54)
        self.assertEqual(c[1], {"inch": 1})
예제 #5
0
    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})
예제 #6
0
    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})
예제 #7
0
 def test_issue66b(self):
     ureg = UnitRegistry()
     self.assertEqual(ureg.get_base_units(ureg.kelvin),
                      (1.0, ureg.Unit(UnitsContainer({'kelvin': 1}))))
     self.assertEqual(ureg.get_base_units(ureg.degC),
                      (1.0, ureg.Unit(UnitsContainer({'kelvin': 1}))))
예제 #8
0
파일: test_issues.py 프로젝트: itmeson/pint
 def test_issue66b(self):
     ureg = UnitRegistry()
     self.assertEqual(ureg.get_base_units(ureg.kelvin.units),
                      (None, UnitsContainer({'kelvin': 1})))
     self.assertEqual(ureg.get_base_units(ureg.degC.units),
                      (None, UnitsContainer({'kelvin': 1})))
예제 #9
0
 def test_issue66b(self):
     ureg = UnitRegistry()
     self.assertEqual(ureg.get_base_units(ureg.kelvin),
                      (1.0, ureg.Unit(UnitsContainer({'kelvin': 1}))))
     self.assertEqual(ureg.get_base_units(ureg.degC),
                      (1.0, ureg.Unit(UnitsContainer({'kelvin': 1}))))
예제 #10
0
 def test_issue66b(self):
     ureg = UnitRegistry()
     self.assertEqual(ureg.get_base_units(ureg.degK.units),
                      (None, UnitsContainer({'degK': 1})))
     self.assertEqual(ureg.get_base_units(ureg.degC.units),
                      (None, UnitsContainer({'degK': 1})))
예제 #11
0
 def test_issue66b(self):
     ureg = UnitRegistry()
     self.assertEqual(ureg.get_base_units(ureg.degK.units),
                      (1., UnitsContainer({'degK': 1})))
     self.assertEqual(ureg.get_base_units(ureg.degC.units),
                      (1., UnitsContainer({'degC': 1})))