def test_backtransform(self):
        transf_mean = Transform(d=0, mean=1, box_cox=0.5)
        data_sqrt = np.array([0, 1, 4, 2, 9])
        data_sqrt_transf = [-3, -1, 1, (2 ** 0.5 - 1) * 2 - 1, 3]
        empty = np.array([])

        np.testing.assert_almost_equal(transf_mean.backtransform(data_sqrt_transf), data_sqrt)
        np.testing.assert_almost_equal(transf_mean.backtransform(empty), empty)
    def test_transform(self):
        transf_mean = Transform(d=0, mean=1, box_cox=0.5)
        data_sqrt = [0, 1, 4, 2, 9]
        empty = []

        np.testing.assert_almost_equal(
            transf_mean.transform(data_sqrt).tolist(), [-3, -1, 1, (2 ** 0.5 - 1) * 2 - 1, 3]
        )
        np.testing.assert_almost_equal(transf_mean.transform(empty).tolist(), [])
    def test_box_cox_backtransform(self):
        transf_ln = Transform(d=0, mean=0, box_cox=0)
        transf_sqrt = Transform(d=0, mean=0, box_cox=0.5)
        transf_mean = Transform(d=0, mean=1, box_cox=0.5)

        data_ln = [1, 2, 4.2, 0.002]
        data_ln_transf = np.array([np.log(x) for x in data_ln])
        data_sqrt = [0, 1, 4, 2, 9]
        data_sqrt_transf = np.array([-2, 0, 2, (2 ** 0.5 - 1) * 2, 4])
        empty = np.array([])

        np.testing.assert_almost_equal(transf_ln._box_cox_backtransform(data_ln_transf).tolist(), data_ln)
        np.testing.assert_almost_equal(transf_ln._box_cox_backtransform(empty).tolist(), [])

        np.testing.assert_almost_equal(transf_sqrt._box_cox_backtransform(data_sqrt_transf).tolist(), data_sqrt)