blob: c7f7addfb852d483506a53b410eb998b8d766019 [file]
import pathlib
import polars as pl
import pytest
from hamilton.plugins.polars_extensions import PolarsCSVReader, PolarsCSVWriter
@pytest.fixture
def df():
yield pl.DataFrame({"foo": ["bar"]})
def test_polars_csv(df: pl.DataFrame, tmp_path: pathlib.Path) -> None:
file = tmp_path / "test.csv"
writer = PolarsCSVWriter(file=file)
kwargs1 = writer._get_saving_kwargs()
writer.save_data(df)
reader = PolarsCSVReader(file=file)
kwargs2 = reader._get_loading_kwargs()
df2, metadata = reader.load_data(pl.DataFrame)
assert PolarsCSVWriter.applicable_types() == [pl.DataFrame]
assert PolarsCSVReader.applicable_types() == [pl.DataFrame]
assert kwargs1["separator"] == ","
assert kwargs2["has_header"] is True
assert df.frame_equal(df2)