Skip to content

Commit 7c6c9ae

Browse files
committed
Initial commit.
1 parent 2783471 commit 7c6c9ae

1 file changed

Lines changed: 102 additions & 0 deletions

File tree

Lines changed: 102 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,102 @@
1+
from codonPython.check_nat_val import check_nat_val
2+
import pytest
3+
import pandas as pd
4+
5+
6+
df = pd.DataFrame({
7+
"Breakdown" : [
8+
'National', 'CCG', 'CCG', 'Provider', 'Provider',
9+
'National' ,'CCG', 'CCG', 'Provider', 'Provider',
10+
'National' ,'CCG', 'CCG', 'Provider', 'Provider',
11+
],
12+
"measure" : [
13+
'm1', 'm1', 'm1', 'm1', 'm1',
14+
'm2', 'm2', 'm2', 'm2', 'm2',
15+
'm3', 'm3', 'm3', 'm3', 'm3',
16+
],
17+
"Value_Unsuppressed" : [
18+
9, 4, 5, 3, 6,
19+
11, 2, 9, 7, 4,
20+
9, 5, 4, 6, 3
21+
],
22+
})
23+
24+
@pytest.mark.parametrize("df, breakdown_col, measure_col, value_col, nat_val, expected", [
25+
(
26+
df,
27+
"Breakdown",
28+
"measure",
29+
"Value_Unsuppressed",
30+
"National",
31+
True
32+
),
33+
])
34+
def test_BAU(df, breakdown_col, measure_col, value_col, nat_val, expected):
35+
assert check_nat_val(
36+
df,
37+
breakdown_col=breakdown_col,
38+
measure_col=measure_col,
39+
value_col=value_col,
40+
nat_val=nat_val,
41+
) == expected
42+
43+
44+
@pytest.mark.parametrize("df, breakdown_col, measure_col, value_col, nat_val", [
45+
(
46+
df,
47+
"Breakdown",
48+
23, # Not a string
49+
"Value_Unsuppressed",
50+
"National",
51+
),
52+
(
53+
df,
54+
0.1, # Not a string
55+
"Measure",
56+
"Value_Unsuppressed",
57+
"National",
58+
),
59+
(
60+
df,
61+
"Breakdown",
62+
"Measure",
63+
pd.DataFrame({"wrong" : [1, 2, 3]}), # Not a string
64+
"National",
65+
),
66+
(
67+
df,
68+
"Breakdown",
69+
"Measure",
70+
"Value_Unsuppressed",
71+
set({"m1", "m2"}), # Not a string
72+
),
73+
])
74+
def test_ValueErrors(df, breakdown_col, measure_col, value_col, nat_val):
75+
with pytest.raises(ValueError):
76+
check_nat_val(
77+
df,
78+
breakdown_col=breakdown_col,
79+
measure_col=measure_col,
80+
value_col=value_col,
81+
nat_val=nat_val,
82+
)
83+
84+
85+
@pytest.mark.parametrize("df, breakdown_col, measure_col, value_col, nat_val", [
86+
(
87+
df,
88+
"Breakdown",
89+
"measure",
90+
"Wrong_Column",
91+
"National",
92+
)
93+
])
94+
def test_KeyErrors(df, breakdown_col, measure_col, value_col, nat_val):
95+
with pytest.raises(KeyError):
96+
check_nat_val(
97+
df,
98+
breakdown_col=breakdown_col,
99+
measure_col=measure_col,
100+
value_col=value_col,
101+
nat_val=nat_val,
102+
)

0 commit comments

Comments
 (0)