Skip to content

Commit 232944b

Browse files
committed
add tests for cp.pymc_experiments.RegressionKink._eval_gradient_change
1 parent 255ea83 commit 232944b

File tree

1 file changed

+21
-0
lines changed

1 file changed

+21
-0
lines changed

causalpy/tests/test_pymc_experiments.py

Lines changed: 21 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -19,3 +19,24 @@ def test_did_summary():
1919
)
2020
print(type(result._causal_impact_summary_stat()))
2121
assert isinstance(result._causal_impact_summary_stat(), str)
22+
23+
24+
def test_regression_kink_gradient_change():
25+
"""Test function to numerically calculate the change in gradient around the kink
26+
point in regression kink designs"""
27+
# test no change in gradient
28+
assert cp.pymc_experiments.RegressionKink._eval_gradient_change(-1, 0, 1, 1) == 0.0
29+
assert cp.pymc_experiments.RegressionKink._eval_gradient_change(1, 0, -1, 1) == 0.0
30+
assert cp.pymc_experiments.RegressionKink._eval_gradient_change(0, 0, 0, 1) == 0.0
31+
# test positive change in gradient
32+
assert cp.pymc_experiments.RegressionKink._eval_gradient_change(0, 0, 1, 1) == 1.0
33+
assert cp.pymc_experiments.RegressionKink._eval_gradient_change(0, 0, 2, 1) == 2.0
34+
assert cp.pymc_experiments.RegressionKink._eval_gradient_change(-1, -1, 2, 1) == 3.0
35+
assert cp.pymc_experiments.RegressionKink._eval_gradient_change(-1, 0, 2, 1) == 1.0
36+
# test negative change in gradient
37+
assert cp.pymc_experiments.RegressionKink._eval_gradient_change(0, 0, -1, 1) == -1.0
38+
assert cp.pymc_experiments.RegressionKink._eval_gradient_change(0, 0, -2, 1) == -2.0
39+
assert (
40+
cp.pymc_experiments.RegressionKink._eval_gradient_change(-1, -1, -2, 1) == -1.0
41+
)
42+
assert cp.pymc_experiments.RegressionKink._eval_gradient_change(1, 0, -2, 1) == -1.0

0 commit comments

Comments
 (0)