from hypothesis import given from hypothesis.extra.pandas import data_frames, columns, range_indexes from pandas.util.testing import assert_frame_equal import pandas as pd from demo.classes import CsvSerializer, ParquetSerializer @given( data_frames( index=range_indexes(min_size=10), columns=columns(["foo", "bar"], dtype=float) ) ) def test_csv_serializer(df: pd.DataFrame) -> None: serdes = CsvSerializer(df) actual = CsvSerializer.from_bytes(serdes.to_bytes()) print(df) print(actual) assert_frame_equal( df, actual, ) @given( data_frames( index=range_indexes(min_size=10), columns=columns(["foo", "bar"], dtype=float) ) ) def test_parquet_serializer(df: pd.DataFrame) -> None: serdes = ParquetSerializer(df) actual = ParquetSerializer.from_bytes(serdes.to_bytes()) print(df) print(actual) assert_frame_equal( df, actual, )