import pytest import free_disk @pytest.mark.parametrize(('data_size_with_unit', 'expected_bytes'), [ ('123', 123), ('123B', 123), ('123.0B', 123), ('1kB', 1000), ('2kB', 2000), ('2.5kB', 2500), ('2KB', 2000), ('8MB', 8 * (10**6)), ('8.5MB', 8.5 * (10**6)), ('32GB', 32 * (10**9)), ('9TB', 9 * (10**12)), ('3KiB', 3 * (1024**1)), ('40MiB', 40 * (1024**2)), ('512GiB', 512 * (1024**3)), ('7TiB', 7 * (1024**4)), ('123 B', 123), ('123\tB', 123), ('123.0 B', 123), ('1 kB', 1000), ('1 MiB', 1024**2), ]) def test_data_size_to_bytes(data_size_with_unit, expected_bytes): assert expected_bytes == free_disk.data_size_to_bytes(data_size_with_unit) @pytest.mark.parametrize('data_size_with_unit', [ 'abcdef', '123G', ]) def test_data_size_to_bytes_fail(data_size_with_unit): with pytest.raises(ValueError): free_disk.data_size_to_bytes(data_size_with_unit)