Пример #1
0
    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")
Пример #2
0
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")
Пример #5
0
    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)
Пример #6
0
    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")
Пример #8
0
    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")
Пример #13
0
    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")
Пример #15
0
    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")
Пример #16
0
    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")
Пример #17
0
    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")
Пример #18
0
    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")
Пример #22
0
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"
        )
Пример #23
0
    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")
Пример #26
0
    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)