def test_unit_divide_simple(): assert unit_divide(_sunit('m'), _sunit('m')) == _sunit() assert unit_divide(_sunit('m'), _sunit()) == _sunit('m') assert unit_divide(_sunit(), _sunit('m')) == (set(), {('m', 1)})
def test_unit_is_equal_simple_cases(): assert unit_is_equal(_sunit(), _sunit()) assert unit_is_equal(_sunit('meter'), _sunit('meter')) assert not unit_is_equal(_sunit(), _sunit('meter')) assert not unit_is_equal(_sunit('meter'), _sunit()) assert not unit_is_equal(_sunit('meter'), _sunit('kg'))
def test_unit_multiply_simple(): assert unit_multiply(_sunit('m'), _sunit('m')) == ({('m', 2)}, set()) assert unit_multiply(_sunit('m'), _sunit()) == _sunit('m') assert unit_multiply(_sunit(), _sunit('m')) == _sunit('m')
def test_unit_is_empty(): assert unit_is_empty(_sunit()) assert not unit_is_empty(({('meter', 1)}, set()))
def test_unit_is_complex(): newton = ({('kg', 1), ('m', 1)}, {('s', 2)}) #kg*m/s^2 assert not unit_is_complex(_sunit()) assert not unit_is_complex(_sunit('m')) assert unit_is_complex(newton)
def test_unknown_units(): assert convert((1, 'meter'), "apple") == (1, _sunit('meter'))
def test_a_specific_case(): assert convert((1000, 'm'), 'km') == (1, _sunit('km'))
def test_empty_source_unit(): assert convert((1, None), None) == (1, _sunit()) assert convert((1, None), 'm') == (1, _sunit('m'))
def test_known_units(): assert convert((1, 'km'), 'm') == (1000, _sunit('m')) assert convert((318.15, "Kelvin"), "°F") == (318.15 * 1.8 - 459.67, _sunit("°F")) assert convert((113, "°F"), "Kelvin") == ((113 + 459.67) / 1.8, _sunit("Kelvin"))