コード例 #1
0
    def test_super_columns_check_called(self, mocker):
        """Test that BaseTransformer.columns_check called."""

        df = d.create_df_2()

        x = ArbitraryImputer(impute_value=-1, columns="a")

        expected_call_args = {0: {"args": (d.create_df_2(), ), "kwargs": {}}}

        with h.assert_function_call(mocker, tubular.base.BaseTransformer,
                                    "columns_check", expected_call_args):

            x.transform(df)
コード例 #2
0
    def test_super_transform_called(self, mocker):
        """Test that BaseImputer.transform called."""

        df = d.create_df_2()

        x = ArbitraryImputer(impute_value=1, columns="a")

        expected_call_args = {0: {"args": (d.create_df_2(), ), "kwargs": {}}}

        with h.assert_function_call(mocker, tubular.imputers.BaseImputer,
                                    "transform", expected_call_args):

            x.transform(df)
コード例 #3
0
    def test_check_is_fitted_called(self, mocker):
        """Test that BaseTransformer check_is_fitted called."""

        df = d.create_df_1()

        x = ArbitraryImputer(impute_value=1, columns="a")

        expected_call_args = {0: {"args": (["impute_value"], ), "kwargs": {}}}

        with h.assert_function_call(mocker, tubular.base.BaseTransformer,
                                    "check_is_fitted", expected_call_args):

            x.transform(df)
コード例 #4
0
    def test_impute_value_type_error(self):
        """Test that an exception is raised if impute_value is not an int, float or str."""

        with pytest.raises(ValueError,
                           match="impute_value should be a single value .*"):

            ArbitraryImputer(impute_value={}, columns="a")
コード例 #5
0
    def test_impute_value_unchanged(self):
        """Test that self.impute_value is unchanged after transform."""

        df = d.create_df_1()

        value = 1

        x = ArbitraryImputer(impute_value=value, columns="a")

        x.transform(df)

        h.test_object_attributes(
            obj=x,
            expected_attributes={"impute_value": value},
            msg="impute_value changed in transform",
        )
コード例 #6
0
    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")
コード例 #7
0
    def test_columns_none_error(self):
        """Test that an exception is raised if columns is passed as None."""

        with pytest.raises(
                ValueError,
                match="columns must be specified in init for ArbitraryImputer"
        ):

            ArbitraryImputer(impute_value=1, columns=None)
コード例 #8
0
    def test_impute_values_set(self, mocker):
        """Test that impute_values_ are set with imput_value in transform."""

        df = d.create_df_2()

        x = ArbitraryImputer(impute_value=1, columns=["a", "b", "c"])

        # mock BaseImputer.transform so it does not run
        mocker.patch.object(tubular.imputers.BaseImputer,
                            "transform",
                            return_value=1234)

        x.transform(df)

        assert x.impute_values_ == {
            "a": 1,
            "b": 1,
            "c": 1,
        }, "impute_values_ not set with imput_value in transform"
コード例 #9
0
    def test_impute_values_set_to_attribute(self):
        """Test that the value passed for impute_value is saved in an attribute of the same name."""

        value = 1

        x = ArbitraryImputer(impute_value=value, columns="a")

        h.test_object_attributes(
            obj=x,
            expected_attributes={
                "impute_value": value,
                "impute_values_": {}
            },
            msg="Attributes for ArbitraryImputer set in init",
        )
コード例 #10
0
    def test_super_init_called(self, mocker):
        """Test that init calls BaseTransformer.init."""

        expected_call_args = {
            0: {
                "args": (),
                "kwargs": {
                    "columns": "a",
                    "verbose": True,
                    "copy": True
                }
            }
        }

        with h.assert_function_call(mocker, tubular.base.BaseTransformer,
                                    "__init__", expected_call_args):

            ArbitraryImputer(impute_value=1,
                             columns="a",
                             verbose=True,
                             copy=True)
コード例 #11
0
    def test_inheritance(self):
        """Test that ArbitraryImputer inherits from BaseTransformer."""

        x = ArbitraryImputer(impute_value=1, columns="a")

        h.assert_inheritance(x, tubular.imputers.BaseImputer)