def test_unit_detection(value, expected, unit, templates): """Testing different combinations of number formats and all units.""" for template in templates: text = template.format(value) found_unit = Unit.find_first_unit(text) assert found_unit is not None, 'Nothing found in {!r}'.format(text) assert found_unit.value == expected and found_unit.unit == unit assert isinstance(found_unit.to_useless(), type(''))
def test_compound_units(values, expected, units, template): """Testing arbitrary compound unit formats.""" text = template.format(*values) found_units = Unit.find_first_unit(text) assert found_units is not None assert isinstance(found_units, list) for i, found_unit in enumerate(found_units): assert found_unit.unit == units[i] assert found_unit.value == expected[i] assert isinstance(found_unit.to_useless(), type(''))