Exemplo n.º 1
0
    def test_redefinition(self, caplog):
        d = UnitRegistry().define

        with caplog.at_level(logging.DEBUG):
            d("meter = [fruits]")
            d("kilo- = 1000")
            d("[speed] = [vegetables]")

            # aliases
            d("bla = 3.2 meter = inch")
            d("myk- = 1000 = kilo-")

        assert len(caplog.records) == 5
Exemplo n.º 2
0
    def test_redefinition(self):
        d = UnitRegistry().define

        with self.capture_log() as buffer:
            d('meter = [fruits]')
            d('kilo- = 1000')
            d('[speed] = [vegetables]')

            # aliases
            d('bla = 3.2 meter = inch')
            d('myk- = 1000 = kilo-')

            self.assertEqual(len(buffer), 5)
Exemplo n.º 3
0
    def test_redefinition(self):
        d = UnitRegistry().define

        with self.capture_log() as buffer:
            d("meter = [fruits]")
            d("kilo- = 1000")
            d("[speed] = [vegetables]")

            # aliases
            d("bla = 3.2 meter = inch")
            d("myk- = 1000 = kilo-")

            self.assertEqual(len(buffer), 5)
Exemplo n.º 4
0
 def test_unit_default_formatting(self):
     ureg = UnitRegistry()
     x = ureg.Unit(UnitsContainer(meter=2, kilogram=1, second=-1))
     for spec, result in (('L', r'\frac{\mathrm{kilogram} \cdot \mathrm{meter}^{2}}{\mathrm{second}}'),
                          ('P', 'kilogram·meter²/second'),
                          ('H', 'kilogram meter<sup>2</sup>/second'),
                          ('C', 'kilogram*meter**2/second'),
                          ('~', 'kg * m ** 2 / s'),
                          ('L~', r'\frac{\mathrm{kg} \cdot \mathrm{m}^{2}}{\mathrm{s}}'),
                          ('P~', 'kg·m²/s'),
                          ('H~', 'kg m<sup>2</sup>/s'),
                          ('C~', 'kg*m**2/s'),
                          ):
         ureg.default_format = spec
         self.assertEqual('{0}'.format(x), result,
                          'Failed for {0}, {1}'.format(spec, result))
Exemplo n.º 5
0
 def test_unit_formatting_snake_case(self):
     # Test that snake_case units are escaped where appropriate
     ureg = UnitRegistry()
     x = ureg.Unit(UnitsContainer(oil_barrel=1))
     for spec, result in (
         ("L", r"\mathrm{oil\_barrel}"),
         ("P", "oil_barrel"),
         ("H", r"\[oil\_barrel\]"),
         ("C", "oil_barrel"),
         ("~", "oil_bbl"),
         ("L~", r"\mathrm{oil\_bbl}"),
         ("P~", "oil_bbl"),
         ("H~", r"\[oil\_bbl\]"),
         ("C~", "oil_bbl"),
     ):
         with self.subTest(spec):
             ureg.default_format = spec
             self.assertEqual(f"{x}", result, f"Failed for {spec}, {result}")
Exemplo n.º 6
0
 def test_unit_default_formatting(self):
     ureg = UnitRegistry()
     x = ureg.Unit(UnitsContainer(meter=2, kilogram=1, second=-1))
     for spec, result in (
         (
             "L",
             r"\frac{\mathrm{kilogram} \cdot \mathrm{meter}^{2}}{\mathrm{second}}",
         ),
         ("P", "kilogram·meter²/second"),
         ("H", r"\[kilogram\ meter^2/second\]"),
         ("C", "kilogram*meter**2/second"),
         ("~", "kg * m ** 2 / s"),
         ("L~", r"\frac{\mathrm{kg} \cdot \mathrm{m}^{2}}{\mathrm{s}}"),
         ("P~", "kg·m²/s"),
         ("H~", r"\[kg\ m^2/s\]"),
         ("C~", "kg*m**2/s"),
     ):
         with self.subTest(spec):
             ureg.default_format = spec
             self.assertEqual(f"{x}", result, f"Failed for {spec}, {result}")
Exemplo n.º 7
0
 def test_unit_default_formatting(self, subtests):
     ureg = UnitRegistry()
     x = ureg.Unit(UnitsContainer(meter=2, kilogram=1, second=-1))
     for spec, result in (
         (
             "L",
             r"\frac{\mathrm{kilogram} \cdot \mathrm{meter}^{2}}{\mathrm{second}}",
         ),
         ("P", "kilogram·meter²/second"),
         ("H", "kilogram meter<sup>2</sup>/second"),
         ("C", "kilogram*meter**2/second"),
         ("~", "kg * m ** 2 / s"),
         ("L~", r"\frac{\mathrm{kg} \cdot \mathrm{m}^{2}}{\mathrm{s}}"),
         ("P~", "kg·m²/s"),
         ("H~", "kg m<sup>2</sup>/s"),
         ("C~", "kg*m**2/s"),
     ):
         with subtests.test(spec):
             ureg.default_format = spec
             assert f"{x}" == result, f"Failed for {spec}, {result}"
Exemplo n.º 8
0
    def test_ipython(self):
        alltext = []

        class Pretty(object):
            @staticmethod
            def text(text):
                alltext.append(text)

        ureg = UnitRegistry()
        x = ureg.Unit(UnitsContainer(meter=2, kilogram=1, second=-1))
        self.assertEqual(x._repr_html_(), "kilogram meter<sup>2</sup>/second")
        self.assertEqual(x._repr_latex_(), r'$\frac{\mathrm{kilogram} \cdot '
                                           r'\mathrm{meter}^{2}}{\mathrm{second}}$')
        x._repr_pretty_(Pretty, False)
        self.assertEqual("".join(alltext), "kilogram·meter²/second")
        ureg.default_format = "~"
        self.assertEqual(x._repr_html_(), "kg m<sup>2</sup>/s")
        self.assertEqual(x._repr_latex_(),
                         r'$\frac{\mathrm{kg} \cdot \mathrm{m}^{2}}{\mathrm{s}}$')
        alltext = []
        x._repr_pretty_(Pretty, False)
        self.assertEqual("".join(alltext), "kg·m²/s")
Exemplo n.º 9
0
    def test_ipython(self):
        alltext = []

        class Pretty:
            @staticmethod
            def text(text):
                alltext.append(text)

        ureg = UnitRegistry()
        x = ureg.Unit(UnitsContainer(meter=2, kilogram=1, second=-1))
        assert x._repr_html_() == "kilogram meter<sup>2</sup>/second"
        assert (x._repr_latex_() == r"$\frac{\mathrm{kilogram} \cdot "
                r"\mathrm{meter}^{2}}{\mathrm{second}}$")
        x._repr_pretty_(Pretty, False)
        assert "".join(alltext) == "kilogram·meter²/second"
        ureg.default_format = "~"
        assert x._repr_html_() == "kg m<sup>2</sup>/s"
        assert (x._repr_latex_() ==
                r"$\frac{\mathrm{kg} \cdot \mathrm{m}^{2}}{\mathrm{s}}$")
        alltext = []
        x._repr_pretty_(Pretty, False)
        assert "".join(alltext) == "kg·m²/s"
Exemplo n.º 10
0
    def test_alias(self):
        # Use load_definitions
        ureg = UnitRegistry([
            "canonical = [] = can = alias1 = alias2\n",
            # overlapping aliases
            "@alias canonical = alias2 = alias3\n",
            # Against another alias
            "@alias alias3 = alias4\n",
        ])

        # Use define
        ureg.define("@alias canonical = alias5")

        # Test that new aliases work
        # Test that pre-existing aliases and symbol are not eliminated
        for a in ("can", "alias1", "alias2", "alias3", "alias4", "alias5"):
            self.assertEqual(ureg.Unit(a), ureg.Unit("canonical"))

        # Test that aliases defined multiple times are not duplicated
        self.assertEqual(ureg._units["canonical"].aliases,
                         ("alias1", "alias2", "alias3", "alias4", "alias5"))

        # Define against unknown name
        self.assertRaises(KeyError, ureg.define, "@alias notexist = something")
Exemplo n.º 11
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.º 12
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.º 13
0
 def setUp(self):
     super(TestCompatibleUnits, self).setUp()
     self.ureg = UnitRegistry(force_ndarray=self.FORCE_NDARRAY)
     self.Q_ = self.ureg.Quantity
     self.U_ = self.ureg.Unit
Exemplo n.º 14
0
 def test_define(self):
     ureg = UnitRegistry(None)
     self.assertIsInstance(dir(ureg), list)
     self.assertGreater(len(dir(ureg)), 0)
Exemplo n.º 15
0
 def test_base(self):
     ureg = UnitRegistry(None)
     ureg.define('meter = [length]')
     self.assertRaises(ValueError, ureg.define, 'meter = [length]')
     self.assertRaises(TypeError, ureg.define, list())
     x = ureg.define('degC = kelvin; offset: 273.15')
Exemplo n.º 16
0
- PERL (automatically during installation)
'''

import os
import pickle as pl
import subprocess
from enum import Enum

import matplotlib
import matplotlib.pyplot as plt
import numpy as np
import seaborn as sns
# matplotlib.use("Agg")
from pint.registry import UnitRegistry

ureg = UnitRegistry()


class Journal(Enum):
    SPRINGER = "SPRINGER"
    ELSEVIER = "ELSEVIER"
    POWERPOINT = "PTT"
    POWERPOINT_A3 = "PTTA3"


class Columnes(Enum):
    ONE = "1"
    ONE_POINT_FIVE = "1.5"
    TWO = "2"

Exemplo n.º 17
0
 def test_iterate(self):
     ureg = UnitRegistry()
     self.assertTrue("meter" in list(ureg))
Exemplo n.º 18
0
 def test_quantity_conversion(self):
     from pint.registry import UnitRegistry
     ureg = UnitRegistry()
     self.assertEqual(to_units_container(ureg.Quantity(1, UnitsContainer(m=1))),
                      UnitsContainer(m=1))
Exemplo n.º 19
0
 def test_iterate(self):
     ureg = UnitRegistry()
     assert "meter" in list(ureg)
Exemplo n.º 20
0
    def test_parse_with_force_ndarray(self):
        ureg = UnitRegistry(force_ndarray=True)

        assert ureg.parse_expression("m * s ** -2").units == ureg.m / ureg.s ** 2
Exemplo n.º 21
0
 def test_define(self):
     ureg = UnitRegistry(None)
     assert isinstance(dir(ureg), list)
     assert len(dir(ureg)) > 0
Exemplo n.º 22
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)
     )
Exemplo n.º 23
0
 def test_base(self):
     ureg = UnitRegistry(None)
     ureg.define("meter = [length]")
     self.assertRaises(DefinitionSyntaxError, ureg.define, "meter = [length]")
     self.assertRaises(TypeError, ureg.define, list())
     ureg.define("degC = kelvin; offset: 273.15")