From aeb51e89c1103836b2fd991a0ac789354465b55e Mon Sep 17 00:00:00 2001 From: Trygve Laugstøl Date: Fri, 22 Sep 2017 08:15:28 +0200 Subject: o Properly implementing EeVal as a value parser. Still missing units. --- test/test_formatting.py | 35 ++++++++++++++++++++++++----------- 1 file changed, 24 insertions(+), 11 deletions(-) (limited to 'test') diff --git a/test/test_formatting.py b/test/test_formatting.py index 177912d..88fb8ed 100644 --- a/test/test_formatting.py +++ b/test/test_formatting.py @@ -19,7 +19,7 @@ from ee import EeVal (0.00055, "550 u"), (0.000055, "55 u"), (0.0000055, "5.5 u"), - (0.00000055, "550 p"), + (0.00000055, "550 n"), ]) def test_eng_str(input, expected): assert expected == eng_str(input) @@ -63,14 +63,27 @@ def xx_test_eng_str3(input, expected): assert expected == eng_str(input) -@pytest.mark.parametrize("s, expected", [ - ('1', EeVal("1")), - ('10', EeVal("10")), - ('10k', EeVal("10e3")), - ('10 k', EeVal("10e3")), - ('10 k', EeVal("10e3")), - ('1p', EeVal("1e-9")), - ('100n', EeVal("100e-6")), +@pytest.mark.parametrize("s, num_value, str_value, unit", [ + ("1", 1, "1", None), + ("10", 10, "10", None), + ("10k", 10 * 1000, "10 k", None), + ("10 k", 10 * 1000, "10 k", None), + ("10 k", 10 * 1000, "10 k", None), + ("1000 m", 1, "1", None), + ("100 m", 0.1, "100 m", None), + ("100 n", 0.0000001, "100 n", None), + ("1 m", 0.001, "1 m", None), + ("1 u", 0.000001, "1 u", None), + ("1 µ", 0.000001, "1 u", None), + ("1 n", 0.000000001, "1 n", None), + ("10 n", 0.00000001, "10 n", None), + ("1p", 1e-12, "1 p", None), ]) -def test_EeVal(s, expected): - assert expected == EeVal(s) +def test_EeVal(s, num_value, str_value, unit): + num_value = float(num_value) + v = EeVal(s) + assert float(v) == v.value + epsilon = num_value * 0.01 + assert (num_value + epsilon) >= float(v) and (num_value - epsilon) <= float(v) + assert str_value == str(v) + assert unit == v.unit -- cgit v1.2.3