Files
dvc/tests/unit/utils/test_conversions.py
T

31 lines
728 B
Python

import pytest
from dvc.utils.conversions import human_readable_to_bytes
KB = 1024
MB = KB**2
GB = KB**3
TB = KB**4
@pytest.mark.parametrize(
"test_input, expected",
[
("10", 10),
("10 ", 10),
("1kb", 1 * KB),
("2kb", 2 * KB),
("1000mib", 1000 * MB),
("20gB", 20 * GB),
("10Tib", 10 * TB),
],
)
def test_conversions_human_readable_to_bytes(test_input, expected):
assert human_readable_to_bytes(test_input) == expected
@pytest.mark.parametrize("invalid_input", ["foo", "10XB", "1000Pb", "fooMiB"])
def test_conversions_human_readable_to_bytes_invalid(invalid_input):
with pytest.raises(ValueError):
human_readable_to_bytes(invalid_input)