|
@@ -4,19 +4,33 @@ import pytest
|
|
|
from ioex.calcex import Figure
|
|
|
|
|
|
|
|
|
-@pytest.mark.parametrize(('init_kwargs', 'expected_value', 'expected_unit'), [
|
|
|
- [{}, None, None],
|
|
|
- [{'value': 123.4}, 123.4, None],
|
|
|
- [{'unit': 'm/s²'}, None, 'm/s²'],
|
|
|
- [{'value': 123.4, 'unit': 'm/s²'}, 123.4, 'm/s²'],
|
|
|
- [{'value': 1234, 'unit': '米/s²'}, 1234, '米/s²'],
|
|
|
+@pytest.mark.parametrize(('init_params', 'init_kwargs', 'expected_value', 'expected_unit'), [
|
|
|
+ [[], {}, None, None],
|
|
|
+ [[123.4], {}, 123.4, None],
|
|
|
+ [[None, 'm/s²'], {}, None, 'm/s²'],
|
|
|
+ [[123.4, 'm/s²'], {}, 123.4, 'm/s²'],
|
|
|
+ [[1234, '米/s²'], {}, 1234, '米/s²'],
|
|
|
+ [[], {'value': 123.4}, 123.4, None],
|
|
|
+ [[], {'unit': 'm/s²'}, None, 'm/s²'],
|
|
|
+ [[], {'value': 123.4, 'unit': 'm/s²'}, 123.4, 'm/s²'],
|
|
|
+ [[], {'value': 1234, 'unit': '米/s²'}, 1234, '米/s²'],
|
|
|
+ [[1234], {'unit': '米/s²'}, 1234, '米/s²'],
|
|
|
])
|
|
|
-def test_init(init_kwargs, expected_value, expected_unit):
|
|
|
- f = Figure(**init_kwargs)
|
|
|
+def test_init(init_params, init_kwargs, expected_value, expected_unit):
|
|
|
+ f = Figure(*init_params, **init_kwargs)
|
|
|
assert expected_value == f.value
|
|
|
assert expected_unit == f.unit
|
|
|
|
|
|
|
|
|
+@pytest.mark.parametrize(('init_params', 'init_kwargs'), [
|
|
|
+ [[12.34], {'value': 123.4}],
|
|
|
+ [[12, 'm/h'], {'unit': 'm/s²'}],
|
|
|
+])
|
|
|
+def test_init_multiple_values(init_params, init_kwargs):
|
|
|
+ with pytest.raises(Exception):
|
|
|
+ Figure(*init_params, **init_kwargs)
|
|
|
+
|
|
|
+
|
|
|
@pytest.mark.parametrize(('value'), [
|
|
|
1234,
|
|
|
123.4,
|
|
@@ -47,6 +61,7 @@ def test_set_unit(unit):
|
|
|
f.set_unit(unit)
|
|
|
assert unit == f.unit
|
|
|
|
|
|
+
|
|
|
@pytest.mark.parametrize(('figure', 'expected_string'), [
|
|
|
[Figure(), '?'],
|
|
|
[Figure(value=123.4), '123.4'],
|
|
@@ -56,3 +71,20 @@ def test_set_unit(unit):
|
|
|
])
|
|
|
def test_str(figure, expected_string):
|
|
|
assert expected_string == str(figure)
|
|
|
+
|
|
|
+@pytest.mark.parametrize(('a', 'b'), [
|
|
|
+ [Figure(1, 'm'), Figure(1, 'm')],
|
|
|
+])
|
|
|
+def test_eq(a, b):
|
|
|
+ assert a == b
|
|
|
+ print(a == b, a != b)
|
|
|
+ assert not (a != b)
|
|
|
+
|
|
|
+@pytest.mark.parametrize(('a', 'b'), [
|
|
|
+ [Figure(1, 'm'), Figure(2, 'g')],
|
|
|
+ [Figure(1, 'm'), Figure(2, 'm')],
|
|
|
+ [Figure(2, 'm'), Figure(2, 'g')],
|
|
|
+])
|
|
|
+def test_neq(a, b):
|
|
|
+ assert a != b
|
|
|
+ assert not (a == b)
|