Exemplo n.º 1
0
 def test_issue25(self):
     x = ParserHelper.from_string("10 %")
     assert x == ParserHelper(10, {"%": 1})
     x = ParserHelper.from_string("10 ‰")
     assert x == ParserHelper(10, {"‰": 1})
     ureg.define("percent = [fraction]; offset: 0 = %")
     ureg.define("permille = percent / 10 = ‰")
     x = ureg.parse_expression("10 %")
     assert x == ureg.Quantity(10, {"%": 1})
     y = ureg.parse_expression("10 ‰")
     assert y == ureg.Quantity(10, {"‰": 1})
     assert x.to("‰") == ureg.Quantity(1, {"‰": 1})
Exemplo n.º 2
0
 def test_issue25(self):
     x = ParserHelper.from_string("10 %")
     self.assertEqual(x, ParserHelper(10, {"%": 1}))
     x = ParserHelper.from_string("10 ‰")
     self.assertEqual(x, ParserHelper(10, {"‰": 1}))
     ureg.define("percent = [fraction]; offset: 0 = %")
     ureg.define("permille = percent / 10 = ‰")
     x = ureg.parse_expression("10 %")
     self.assertEqual(x, ureg.Quantity(10, {"%": 1}))
     y = ureg.parse_expression("10 ‰")
     self.assertEqual(y, ureg.Quantity(10, {"‰": 1}))
     self.assertEqual(x.to("‰"), ureg.Quantity(1, {"‰": 1}))
Exemplo n.º 3
0
 def test_issue25(self):
     x = ParserHelper.from_string('10 %')
     self.assertEqual(x, ParserHelper(10, {'%': 1}))
     x = ParserHelper.from_string('10 ‰')
     self.assertEqual(x, ParserHelper(10, {'‰': 1}))
     ureg = UnitRegistry()
     ureg.define('percent = [fraction]; offset: 0 = %')
     ureg.define('permille = percent / 10 = ‰')
     x = ureg.parse_expression('10 %')
     self.assertEqual(x, ureg.Quantity(10, {'%': 1}))
     y = ureg.parse_expression('10 ‰')
     self.assertEqual(y, ureg.Quantity(10, {'‰': 1}))
     self.assertEqual(x.to('‰'), ureg.Quantity(1, {'‰': 1}))
Exemplo n.º 4
0
 def test_get_compatible_units(self):
     ureg = UnitRegistry()
     self.assertEqual(ureg.get_compatible_units(""), frozenset())
     self.assertEqual(
         ureg.get_compatible_units("meter"),
         ureg.get_compatible_units(ParserHelper(meter=1)),
     )
Exemplo n.º 5
0
 def test_get_base_units(self):
     ureg = UnitRegistry()
     assert ureg.get_base_units("") == (1, ureg.Unit(""))
     assert ureg.get_base_units("pi") == (math.pi, ureg.Unit(""))
     assert ureg.get_base_units("ln10") == (math.log(10), ureg.Unit(""))
     assert ureg.get_base_units("meter") == ureg.get_base_units(
         ParserHelper(meter=1))
Exemplo n.º 6
0
 def test_get_base_units(self):
     ureg = UnitRegistry()
     self.assertEqual(ureg.get_base_units(''), (1, ureg.Unit('')))
     self.assertEqual(ureg.get_base_units('pi'), (math.pi, ureg.Unit('')))
     self.assertEqual(ureg.get_base_units('ln10'),
                      (math.log(10), ureg.Unit('')))
     self.assertEqual(ureg.get_base_units('meter'),
                      ureg.get_base_units(ParserHelper(meter=1)))
Exemplo n.º 7
0
 def test_get_base_units(self):
     ureg = UnitRegistry()
     self.assertEqual(ureg.get_base_units(""), (1, ureg.Unit("")))
     self.assertEqual(ureg.get_base_units("pi"), (math.pi, ureg.Unit("")))
     self.assertEqual(ureg.get_base_units("ln10"),
                      (math.log(10), ureg.Unit("")))
     self.assertEqual(ureg.get_base_units("meter"),
                      ureg.get_base_units(ParserHelper(meter=1)))
Exemplo n.º 8
0
    def test_issue856(self):
        ph1 = ParserHelper(scale=123)
        ph2 = copy.deepcopy(ph1)
        assert ph2.scale == ph1.scale

        ureg1 = UnitRegistry()
        ureg2 = copy.deepcopy(ureg1)
        # Very basic functionality test
        assert ureg2("1 t").to("kg").magnitude == 1000
Exemplo n.º 9
0
    def test_basic(self):
        # Parse Helper ar mutables, so we build one everytime
        x = lambda: ParserHelper(1, meter=2)
        xp = lambda: ParserHelper(1, meter=2)
        y = lambda: ParserHelper(2, meter=2)

        self.assertEqual(x(), xp())
        self.assertNotEqual(x(), y())
        self.assertEqual(ParserHelper.from_string(""), ParserHelper())
        self.assertEqual(repr(x()), "<ParserHelper(1, {'meter': 2.0})>")

        self.assertEqual(ParserHelper(2), 2)

        self.assertEqual(x(), dict(meter=2))
        self.assertEqual(x(), "meter ** 2")
        self.assertNotEqual(y(), dict(meter=2))
        self.assertNotEqual(y(), "meter ** 2")

        self.assertNotEqual(xp(), object())
Exemplo n.º 10
0
    def test_basic(self):
        # Parse Helper ar mutables, so we build one everytime
        x = lambda: ParserHelper(1, meter=2)
        xp = lambda: ParserHelper(1, meter=2)
        y = lambda: ParserHelper(2, meter=2)

        assert x() == xp()
        assert x() != y()
        assert ParserHelper.from_string("") == ParserHelper()
        assert repr(x()) == "<ParserHelper(1, {'meter': 2})>"

        assert ParserHelper(2) == 2

        assert x() == dict(meter=2)
        assert x() == "meter ** 2"
        assert y() != dict(meter=2)
        assert y() != "meter ** 2"

        assert xp() != object()
Exemplo n.º 11
0
 def test_get_base_units(self):
     ureg = UnitRegistry()
     self.assertEqual(ureg.get_base_units(''), (1, ureg.Unit('')))
     self.assertEqual(ureg.get_base_units('meter'),
                      ureg.get_base_units(ParserHelper(meter=1)))
Exemplo n.º 12
0
    def test_calculate(self):
        # Parse Helper ar mutables, so we build one everytime
        x = lambda: ParserHelper(1.0, meter=2)
        y = lambda: ParserHelper(2.0, meter=-2)
        z = lambda: ParserHelper(2.0, meter=2)

        self.assertEqual(x() * 4.0, ParserHelper(4.0, meter=2))
        self.assertEqual(x() * y(), ParserHelper(2.0))
        self.assertEqual(x() * "second", ParserHelper(1.0, meter=2, second=1))

        self.assertEqual(x() / 4.0, ParserHelper(0.25, meter=2))
        self.assertEqual(x() / "second", ParserHelper(1.0, meter=2, second=-1))
        self.assertEqual(x() / z(), ParserHelper(0.5))

        self.assertEqual(4.0 / z(), ParserHelper(2.0, meter=-2))
        self.assertEqual("seconds" / z(), ParserHelper(0.5,
                                                       seconds=1,
                                                       meter=-2))
        self.assertEqual(
            dict(seconds=1) / z(), ParserHelper(0.5, seconds=1, meter=-2))
Exemplo n.º 13
0
    def test_calculate(self):
        # Parse Helper ar mutables, so we build one everytime
        x = lambda: ParserHelper(1., meter=2)
        y = lambda: ParserHelper(2., meter=-2)
        z = lambda: ParserHelper(2., meter=2)

        self.assertEqual(x() * 4., ParserHelper(4., meter=2))
        self.assertEqual(x() * y(), ParserHelper(2.))
        self.assertEqual(x() * 'second', ParserHelper(1., meter=2, second=1))

        self.assertEqual(x() / 4., ParserHelper(0.25, meter=2))
        self.assertEqual(x() / 'second', ParserHelper(1., meter=2, second=-1))
        self.assertEqual(x() / z(), ParserHelper(0.5))

        self.assertEqual(4. / z(), ParserHelper(2., meter=-2))
        self.assertEqual('seconds' / z(),
                         ParserHelper(0.5, seconds=1, meter=-2))
        self.assertEqual(dict(seconds=1) / z(),
                         ParserHelper(0.5, seconds=1, meter=-2))
Exemplo n.º 14
0
    def test_calculate(self):
        # Parse Helper ar mutables, so we build one everytime
        x = lambda: ParserHelper(1.0, meter=2)
        y = lambda: ParserHelper(2.0, meter=-2)
        z = lambda: ParserHelper(2.0, meter=2)

        assert x() * 4.0 == ParserHelper(4.0, meter=2)
        assert x() * y() == ParserHelper(2.0)
        assert x() * "second" == ParserHelper(1.0, meter=2, second=1)

        assert x() / 4.0 == ParserHelper(0.25, meter=2)
        assert x() / "second" == ParserHelper(1.0, meter=2, second=-1)
        assert x() / z() == ParserHelper(0.5)

        assert 4.0 / z() == ParserHelper(2.0, meter=-2)
        assert "seconds" / z() == ParserHelper(0.5, seconds=1, meter=-2)
        assert dict(seconds=1) / z() == ParserHelper(0.5, seconds=1, meter=-2)
Exemplo n.º 15
0
 def test_get_compatible_units(self):
     ureg = UnitRegistry()
     assert ureg.get_compatible_units("") == frozenset()
     assert ureg.get_compatible_units("meter") == ureg.get_compatible_units(
         ParserHelper(meter=1)
     )