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")