|
8 | 8 |
|
9 | 9 | pytest.importorskip("pint")
|
10 | 10 |
|
11 |
| -from ..units import units |
| 11 | +from ..units import units as ureg |
12 | 12 |
|
13 | 13 |
|
14 | 14 | def test_added_degrees_units():
|
15 | 15 | """Test that our added degrees units are present in the registry."""
|
16 | 16 | # Test equivalence of abbreviations/aliases to our defined names
|
17 |
| - assert str(units("degrees_N").units) == "degrees_north" |
18 |
| - assert str(units("degreesN").units) == "degrees_north" |
19 |
| - assert str(units("degree_north").units) == "degrees_north" |
20 |
| - assert str(units("degree_N").units) == "degrees_north" |
21 |
| - assert str(units("degreeN").units) == "degrees_north" |
22 |
| - assert str(units("degrees_E").units) == "degrees_east" |
23 |
| - assert str(units("degreesE").units) == "degrees_east" |
24 |
| - assert str(units("degree_east").units) == "degrees_east" |
25 |
| - assert str(units("degree_E").units) == "degrees_east" |
26 |
| - assert str(units("degreeE").units) == "degrees_east" |
| 17 | + assert str(ureg("degrees_N").units) == "degrees_north" |
| 18 | + assert str(ureg("degreesN").units) == "degrees_north" |
| 19 | + assert str(ureg("degree_north").units) == "degrees_north" |
| 20 | + assert str(ureg("degree_N").units) == "degrees_north" |
| 21 | + assert str(ureg("degreeN").units) == "degrees_north" |
| 22 | + assert str(ureg("degrees_E").units) == "degrees_east" |
| 23 | + assert str(ureg("degreesE").units) == "degrees_east" |
| 24 | + assert str(ureg("degree_east").units) == "degrees_east" |
| 25 | + assert str(ureg("degree_E").units) == "degrees_east" |
| 26 | + assert str(ureg("degreeE").units) == "degrees_east" |
27 | 27 |
|
28 | 28 | # Test equivalence of our defined units to base units
|
29 |
| - assert units("degrees_north") == units("degrees") |
30 |
| - assert units("degrees_north").to_base_units().units == units.radian |
31 |
| - assert units("degrees_east") == units("degrees") |
32 |
| - assert units("degrees_east").to_base_units().units == units.radian |
| 29 | + assert ureg("degrees_north") == ureg("degrees") |
| 30 | + assert ureg("degrees_north").to_base_units().units == ureg.radian |
| 31 | + assert ureg("degrees_east") == ureg("degrees") |
| 32 | + assert ureg("degrees_east").to_base_units().units == ureg.radian |
33 | 33 |
|
34 | 34 |
|
35 | 35 | def test_gpm_unit():
|
36 | 36 | """Test that the gpm unit does alias to meters."""
|
37 |
| - x = 1 * units("gpm") |
| 37 | + x = 1 * ureg("gpm") |
38 | 38 | assert str(x.units) == "meter"
|
39 | 39 |
|
40 | 40 |
|
41 | 41 | def test_psu_unit():
|
42 | 42 | """Test that the psu unit are present in the registry."""
|
43 |
| - x = 1 * units("psu") |
| 43 | + x = 1 * ureg("psu") |
44 | 44 | assert str(x.units) == "practical_salinity_unit"
|
45 | 45 |
|
46 | 46 |
|
47 | 47 | def test_percent_units():
|
48 | 48 | """Test that percent sign units are properly parsed and interpreted."""
|
49 |
| - assert str(units("%").units) == "percent" |
| 49 | + assert str(ureg("%").units) == "percent" |
50 | 50 |
|
51 | 51 |
|
52 | 52 | @pytest.mark.xfail(reason="not supported by pint, yet: hgrecco/pint#1295")
|
53 | 53 | def test_udunits_power_syntax():
|
54 | 54 | """Test that UDUNITS style powers are properly parsed and interpreted."""
|
55 |
| - assert units("m2 s-2").units == units.m ** 2 / units.s ** 2 |
| 55 | + assert ureg("m2 s-2").units == ureg.m ** 2 / ureg.s ** 2 |
56 | 56 |
|
57 | 57 |
|
58 | 58 | def test_udunits_power_syntax_parse_units():
|
59 | 59 | """Test that UDUNITS style powers are properly parsed and interpreted."""
|
60 |
| - assert units.parse_units("m2 s-2") == units.m ** 2 / units.s ** 2 |
| 60 | + assert ureg.parse_units("m2 s-2") == ureg.m ** 2 / ureg.s ** 2 |
| 61 | + |
| 62 | + |
| 63 | +@pytest.mark.parametrize( |
| 64 | + ["units", "expected"], |
| 65 | + ( |
| 66 | + ("kg ** 2", "kg2"), |
| 67 | + ("m ** -1", "m-1"), |
| 68 | + ("m ** 2 / s ** 2", "m2 s-2"), |
| 69 | + ("m ** 3 / (kg * s ** 2)", "m3 kg-1 s-2"), |
| 70 | + ), |
| 71 | +) |
| 72 | +def test_udunits_format(units, expected): |
| 73 | + u = ureg.parse_units(units) |
| 74 | + |
| 75 | + assert f"{u:cf}" == expected |
0 commit comments