import pytest import pandas as pd from constants import MINIMAL_NUMBER_OF_ROWS, ASSAY_LIST @pytest.fixture def valid_csv_data(): """Fixture providing valid CSV data with all required columns""" return { "antibody_id": ["AB001"] * MINIMAL_NUMBER_OF_ROWS, "antibody_name": ["AB001"] * MINIMAL_NUMBER_OF_ROWS, "vh_protein_sequence": [ "EVQLVESGGGLVQPGGSLRLSCAASGFTFSSYAMHWVRQAPGKGLEWVSAISGSGGSTYYADSVKGRFTISRDNSKNTLYLQMNSLRAEDTAVYYCARDYGDGYYFDYWGQGTLVTVSS" ] * MINIMAL_NUMBER_OF_ROWS, "vl_protein_sequence": [ "DIQMTQSPSSLSASVGDRVTITCRASQSISSYLNWYQQKPGKAPKLLIYAASTLQSGVPSRFSGSGSGTDFTLTISSLQPEDFATYYCQQSYSTPFTFGQGTKVEIK" ] * MINIMAL_NUMBER_OF_ROWS, **{assay: [0.85] * MINIMAL_NUMBER_OF_ROWS for assay in ASSAY_LIST}, } @pytest.fixture def valid_input_dataframe(valid_csv_data): """Fixture providing a valid input dataframe""" return pd.DataFrame(valid_csv_data) @pytest.fixture def valid_csv_content(valid_input_dataframe): """Fixture providing valid CSV content as string""" return valid_input_dataframe.to_csv(index=False)