def test_column_transformer_fit_should_support_multiple_tuples(): # Given test_case = ColumnChooserTestCase( data_inputs=np.array([[1, 1, 2, 3], [10, 11, 12, 13], [20, 21, 22, 23]]), expected_outputs=np.array([[0, 1, 2, 3], [10, 11, 12, 13], [20, 21, 22, 23]]), expected_processed_outputs=np.array([[2, 2, 2, 3], [20, 22, 12, 13], [40, 42, 44, 46]]), column_transformer_tuple_list=[(slice(0, 2), MultiplyBy2()), (2, MultiplyBy2())], n_dimension=3) data_inputs = test_case.data_inputs column_transformer = ColumnTransformer( test_case.column_transformer_tuple_list) # When column_transformer = column_transformer.fit(data_inputs, test_case.expected_outputs) # Then actual_fitted_data = column_transformer['2_MultiplyBy2'][ 'MultiplyBy2'].fitted_data expected_fitted_data = [([[2], [12], [22]], [[0, 1, 2, 3], [10, 11, 12, 13], [20, 21, 22, 23]])] assert_data_fitted_properly(actual_fitted_data, expected_fitted_data) actual_fitted_data = column_transformer['slice(0, 2, None)_MultiplyBy2'][ 'MultiplyBy2'].fitted_data expected_fitted_data = [([[1, 1], [10, 11], [20, 21]], [[0, 1, 2, 3], [10, 11, 12, 13], [20, 21, 22, 23]])] assert_data_fitted_properly(actual_fitted_data, expected_fitted_data)
def test_column_transformer_fit_should_support_indexes(test_case: ColumnChooserTestCase): data_inputs = test_case.data_inputs p = ColumnTransformer(test_case.column_transformer_tuple_list, test_case.n_dimension) p = p.fit(data_inputs, test_case.expected_outputs) actual_fitted_data = p[test_case.expected_step_key]['MultiplyBy2'].fitted_data expected_fitted_data = test_case.expected_fitted_data assert_data_fitted_properly(actual_fitted_data, expected_fitted_data)