Skip to content

Commit 676cf9b

Browse files
committed
Add weekday.py tests
The expected values in these tests were generated by running the version of these methods on master
1 parent 89efb06 commit 676cf9b

File tree

1 file changed

+74
-0
lines changed

1 file changed

+74
-0
lines changed
Lines changed: 74 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,74 @@
1+
import logging
2+
3+
import numpy as np
4+
import pandas as pd
5+
from delphi_utils.weekday import Weekday
6+
7+
8+
class TestWeekday:
9+
10+
TEST_DATA = pd.DataFrame({
11+
"num": np.arange(1, 11, 1),
12+
"den": np.arange(11, 21, 1),
13+
"date": pd.date_range("2020-01-01", "2020-01-10")
14+
})
15+
16+
def test_get_params(self):
17+
TEST_LOGGER = logging.getLogger()
18+
19+
result = Weekday.get_params(self.TEST_DATA, "den", ["num"], "date", [1], TEST_LOGGER)
20+
print(result)
21+
expected_result = [
22+
-0.05993665,
23+
-0.0727396,
24+
-0.05618517,
25+
0.0343405,
26+
0.12534997,
27+
0.04561813,
28+
-2.27669028,
29+
-1.89564374,
30+
-1.5695407,
31+
-1.29838116,
32+
-1.08216513,
33+
-0.92089259,
34+
-0.81456355,
35+
-0.76317802,
36+
-0.76673598,
37+
-0.82523745,
38+
]
39+
assert np.allclose(result, expected_result)
40+
41+
def test_calc_adjustment_with_zero_parameters(self):
42+
params = np.array([[0, 0, 0, 0, 0, 0, 0]])
43+
44+
result = Weekday.calc_adjustment(params, self.TEST_DATA, ["num"], "date")
45+
46+
# Data should be unchanged when params are 0's
47+
assert np.allclose(result["num"].values, self.TEST_DATA["num"].values)
48+
assert np.allclose(result["den"].values, self.TEST_DATA["den"].values)
49+
assert np.array_equal(result["date"].values, self.TEST_DATA["date"].values)
50+
51+
def test_calc_adjustment(self):
52+
params = np.array([[1, -1, 1, -1, 1, -1, 1]])
53+
54+
result = Weekday.calc_adjustment(params, self.TEST_DATA, ["num"], "date")
55+
56+
print(result["num"].values)
57+
print(result["den"].values)
58+
expected_nums = [
59+
0.36787944,
60+
5.43656366,
61+
1.10363832,
62+
10.87312731,
63+
5,
64+
2.20727665,
65+
19.0279728,
66+
2.94303553,
67+
24.46453646,
68+
3.67879441,
69+
]
70+
71+
# The date and "den" column are unchanged by this function
72+
assert np.allclose(result["num"].values, expected_nums)
73+
assert np.allclose(result["den"].values, self.TEST_DATA["den"].values)
74+
assert np.array_equal(result["date"].values, self.TEST_DATA["date"].values)

0 commit comments

Comments
 (0)