|
|
|
import pytest
|
|
|
|
|
|
|
|
|
|
|
|
@pytest.mark.parametrize(
|
|
|
|
("provided", "expected"),
|
|
|
|
[
|
|
|
|
("abc", ["abc"]),
|
|
|
|
(tuple("abc"), ["a", "b", "c"]),
|
|
|
|
({"a": 1, "b": 2}, ["a", "b"]),
|
|
|
|
(1, [1]),
|
|
|
|
],
|
|
|
|
)
|
|
|
|
def test_helpers_ensure_list(provided, expected):
|
|
|
|
from sensospot_tools.helpers import ensure_list
|
|
|
|
|
|
|
|
result = ensure_list(provided)
|
|
|
|
|
|
|
|
assert result == expected
|
|
|
|
|
|
|
|
|
|
|
|
@pytest.mark.parametrize(
|
|
|
|
"arguments",
|
|
|
|
[
|
|
|
|
("A",),
|
|
|
|
("A", "B"),
|
|
|
|
("B", "C", "D"),
|
|
|
|
(["A"], "B", ["C", "D"]),
|
|
|
|
],
|
|
|
|
)
|
|
|
|
def test_helpers_check_columns_exist_ok(arguments):
|
|
|
|
import pandas
|
|
|
|
from sensospot_tools.helpers import check_columns_exist
|
|
|
|
|
|
|
|
columns = ["A", "B", "C", "D"]
|
|
|
|
data = pandas.DataFrame({c: [] for c in columns})
|
|
|
|
|
|
|
|
assert check_columns_exist(data, *arguments) is True
|
|
|
|
|
|
|
|
|
|
|
|
def test_helpers_check_columns_exist_raises_error_on_wrong_column():
|
|
|
|
import pandas
|
|
|
|
from sensospot_tools.helpers import check_columns_exist
|
|
|
|
|
|
|
|
columns = ["A", "B", "C", "D"]
|
|
|
|
data = pandas.DataFrame({c: [] for c in columns})
|
|
|
|
|
|
|
|
with pytest.raises(KeyError):
|
|
|
|
check_columns_exist(data, "DOES NOT EXIST")
|