def test_set_cell_not_allowed_because_of_non_existing_row(): fitting_data = FittingData(COLUMNS) value = np.random.uniform(0, 10) column = np.random.choice(COLUMNS_NAMES) with pytest.raises(FittingDataSetError, match="^Record number 13 does not exists$"): fitting_data.set_cell(NUMBER_OF_RECORDS + 1, column, value)
def test_set_cell_not_allowed_because_of_non_existing_column(): fitting_data = FittingData(COLUMNS) value = np.random.uniform(0, 10) with pytest.raises( FittingDataSetError, match='^Column name "I do not exist" does not exists$' ): fitting_data.set_cell(0, "I do not exist", value)
def test_set_cell_not_allowed_because_of_non_float_value(): fitting_data = FittingData(COLUMNS) column = np.random.choice(COLUMNS_NAMES) record = np.random.randint(1, NUMBER_OF_RECORDS + 1) value = "I'm not a float" with pytest.raises( FittingDataSetError, match=( f'^The cell at record number:"{record}", column:"{column}"' f" has invalid syntax: I'm not a float.$" ), ): fitting_data.set_cell(record, column, value)
def test_set_cell_allowed(record_number, column_name): fitting_data = FittingData(deepcopy(COLUMNS)) value = np.random.uniform(0, 10) fitting_data.set_cell( record_number=record_number, column_name=column_name, value=value, ) for column in COLUMNS_NAMES: for i in range(NUMBER_OF_RECORDS): if column == column_name and i + 1 == record_number: assert fitting_data.data[column][i] == value, "New value was not set" else: assert ( fitting_data.data[column][i] == COLUMNS[column][i] ), "Data was change unexpectedly"