123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990 |
- # -*- coding: utf-8 -*-
- import pytest
- from ioex.calcex import Figure
- @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_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,
- '一千',
- ])
- def test_set_value(value):
- f = Figure()
- assert None == f.value
- f.value = value
- assert value == f.value
- f.value = None
- assert None == f.value
- f.set_value(value)
- assert value == f.value
- @pytest.mark.parametrize(('unit'), [
- 'μg/l',
- '米/s²',
- ])
- def test_set_unit(unit):
- f = Figure()
- assert None == f.unit
- f.unit = unit
- assert unit == f.unit
- f.unit = None
- assert None == f.unit
- f.set_unit(unit)
- assert unit == f.unit
- @pytest.mark.parametrize(('figure', 'expected_string'), [
- [Figure(), '?'],
- [Figure(value=123.4), '123.4'],
- [Figure(unit='m/s²'), '? m/s²'],
- [Figure(value=123.4, unit='m/s²'), '123.4 m/s²'],
- [Figure(value=1234, unit='米/s²'), '1234 米/s²'],
- ])
- 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)
|