def test_class_methods(self): """Test that OneHotEncodingTransformer has fit and transform methods.""" x = OneHotEncodingTransformer() h.test_object_method(obj=x, expected_method="fit", msg="fit") h.test_object_method(obj=x, expected_method="transform", msg="transform")
def test_callable_call(): """Test the call to callable.""" with mock.patch(target="tubular.testing.helpers.callable") as mocked_method: h.test_object_method(obj="s", expected_method="upper", msg="msg") assert ( mocked_method.call_count == 1 ), f"Unexpected number of calls to hasattr -\n Expected: 1\n Actual: {mocked_method.call_count}" call_1_args = mocked_method.call_args_list[0] call_1_pos_args = call_1_args[0] call_1_kwargs = call_1_args[1] expected_pos_args = (getattr("s", "upper"),) assert ( call_1_kwargs == {} ), f"Unexpected call keyword args -\n Expected: None\n Actual: {call_1_kwargs}" assert len(call_1_pos_args) == len( expected_pos_args ), f"Difference in number of positional arguments -\n Expected: {len(expected_pos_args)}\n Actual: {len(call_1_pos_args)}" for i, (e, a) in enumerate(zip(call_1_pos_args, expected_pos_args)): assert ( e == a ), f"Difference in positional args at index {i} -\n Expected: {e}\n Actual: {a}"
def test_has___missing___method(): """Test that ReturnKeyDict has a __missing__ method.""" x = ReturnKeyDict() h.test_object_method(x, "__missing__", "ReturnKeyDict does not have __missing__ method")
def test_class_methods(self): """Test that BaseMappingTransformMixin has transform method.""" x = BaseMappingTransformMixin() h.test_object_method(obj=x, expected_method="transform", msg="transform method")
def test_class_methods(self, method_name): """Test that OutOfRangeNullTransformer has transform fit and set_replacement_values methods.""" x = OutOfRangeNullTransformer(capping_values={"a": [1, 3]}) h.test_object_method(obj=x, expected_method=method_name, msg=method_name)
def test_class_methods(self): """Test that BaseImputer has transform method.""" x = BaseImputer() h.test_object_method(obj=x, expected_method="transform", msg="transform")
def test_class_methods(self): """Test that ArbitraryImputer has transform method.""" x = ArbitraryImputer(impute_value=1, columns="a") h.test_object_method(obj=x, expected_method="transform", msg="transform")
def test_class_methods(self): """Test that ToDatetimeTransformer has fit and transform methods.""" to_dt = ToDatetimeTransformer(column="a", new_column_name="b") h.test_object_method(obj=to_dt, expected_method="transform", msg="transform")
def test_class_methods(self): """Test that NullIndicator has transform method.""" x = NullIndicator() h.test_object_method(obj=x, expected_method="transform", msg="transform")
def test_class_methods(self): """Test that BaseMappingTransformer has transform method.""" x = BaseMappingTransformer(mappings={"a": {"a": 1}}) h.test_object_method(obj=x, expected_method="transform", msg="transform")
def test_class_methods(self): """Test that LogTransformer has transform method.""" x = LogTransformer(columns="a") h.test_object_method(obj=x, expected_method="transform", msg="transform")
def test_class_methods(self): """Test that CutTransformer has transform method.""" x = CutTransformer(column="a", new_column_name="b") h.test_object_method(obj=x, expected_method="transform", msg="transform")
def test_class_methods(self): """Test that GroupRareLevelsTransformer has fit and transform methods.""" x = GroupRareLevelsTransformer() h.test_object_method(obj=x, expected_method="fit", msg="fit") h.test_object_method(obj=x, expected_method="transform", msg="transform")
def test_class_methods(self): """Test that DataFrameMethodTransformer has transform method.""" x = DataFrameMethodTransformer(new_column_name="a", pd_method_name="sum", columns=["b", "c"]) h.test_object_method(obj=x, expected_method="transform", msg="transform")
def test_class_methods(self): """Test that OrdinalEncoderTransformer has fit and transform methods.""" x = OrdinalEncoderTransformer(response_column="a") h.test_object_method(obj=x, expected_method="fit", msg="fit") h.test_object_method(obj=x, expected_method="transform", msg="transform")
def test_class_methods(self): """Test that ModeImputer has fit and transform methods.""" x = ModeImputer() h.test_object_method(obj=x, expected_method="fit", msg="fit") h.test_object_method(obj=x, expected_method="transform", msg="transform")
def test_class_methods(self): """Test that SeriesStrMethodTransformer has transform method.""" x = SeriesStrMethodTransformer(new_column_name="a", pd_method_name="find", columns=["b"]) h.test_object_method(obj=x, expected_method="transform", msg="transform")
def test_class_methods(self): """Test that CrossColumnAddTransformer has transform method.""" x = CrossColumnAddTransformer(mappings={"a": { "a": 1 }}, adjust_column="b") h.test_object_method(obj=x, expected_method="transform", msg="transform")
def test_class_methods(self): """Test that BetweenDatesTransformer has transform method.""" x = BetweenDatesTransformer(column_lower="a", column_between="b", column_upper="c", new_column_name="d") h.test_object_method(obj=x, expected_method="transform", msg="transform method not present")
def test_class_methods(self): """Test that DateDifferenceTransformer has fit and transform methods.""" x = DateDifferenceTransformer( "column_lower", "column_upper", ) h.test_object_method(obj=x, expected_method="transform", msg="transform")
def test_class_methods(self): """Test that BaseNominalTransformer has columns_set_or_check method.""" x = BaseNominalTransformer() h.test_object_method(obj=x, expected_method="columns_set_or_check", msg="columns_set_or_check") h.test_object_method(obj=x, expected_method="check_mappable_rows", msg="check_mappable_rows")
def test_expected_method_not_str_error(): """Test that an exception is raised if expected_method is not passed as a str.""" non_str_expected_method = 1 with pytest.raises( TypeError, match=f"expected_method should be a str but got {type(non_str_expected_method)}", ): h.test_object_method( obj="a", expected_method=non_str_expected_method, msg="msg" )
def test_class_methods(self): """Test that DateDiffLeapYearTransformer has transform method.""" x = DateDiffLeapYearTransformer( column_lower="dummy_1", column_upper="dummy_2", new_column_name="dummy_3", drop_cols=True, ) h.test_object_method(obj=x, expected_method="transform", msg="transform") h.test_object_method(obj=x, expected_method="calculate_age", msg="calculate_message")
def test_class_methods(self): """Test that BaseTransformer has fit and transform methods.""" x = BaseTransformer() h.test_object_method(obj=x, expected_method="fit", msg="fit") h.test_object_method(obj=x, expected_method="transform", msg="transform") h.test_object_method( obj=x, expected_method="columns_set_or_check", msg="columns_set_or_check" ) h.test_object_method( obj=x, expected_method="columns_check", msg="columns_check" )
def test_class_methods(self): """Test that NominalToIntegerTransformer has fit and transform methods.""" x = NominalToIntegerTransformer() h.test_object_method(obj=x, expected_method="fit", msg="fit") h.test_object_method(obj=x, expected_method="transform", msg="transform") h.test_object_method(obj=x, expected_method="inverse_transform", msg="inverse_transform")
def test_class_methods(self, method_name): """Test that CappingTransformer has transform method.""" x = CappingTransformer(capping_values={"a": [1, 3]}) h.test_object_method(obj=x, expected_method=method_name, msg=method_name)