Skip to content

Commit 40e42de

Browse files
George RobertsonGeorge Robertson
authored andcommitted
check_measures_test added
1 parent 59ce8e1 commit 40e42de

2 files changed

Lines changed: 86 additions & 0 deletions

File tree

.vscode/settings.json

Lines changed: 3 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,3 @@
1+
{
2+
"python.pythonPath": "C:\\Users\\GERO1\\Python3.7\\python.exe"
3+
}
Lines changed: 83 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,83 @@
1+
from codonPython.check_consistent_measures import check_consistent_measures
2+
import pandas as pd
3+
import pytest
4+
5+
@pytest.mark.parametrize("data, geography_col, measure_col, measures_set, expected", [
6+
(
7+
pd.DataFrame({
8+
"Geog" : ["National" ,"National", "Region", "Region", "Local", "Local"],
9+
"measure" : ["m1", "m2", "m1", "m2", "m1", "m2"],
10+
"Value_Unsuppressed" : [4, 2, 2, 1, 2, 1],
11+
}),
12+
"Geog",
13+
"measure",
14+
set({"m1", "m2"}),
15+
True
16+
),
17+
(
18+
pd.DataFrame({
19+
"Geog" : ["National" ,"National", "Region", "Region", "Local", "Local"],
20+
"measure" : ["m1", "m2", "m1", "m3", "m1", "m2"],
21+
"Value_Unsuppressed" : [4, 2, 2, 1, 2, 1],
22+
}),
23+
"Geog",
24+
"measure",
25+
set({"m1", "m2"}),
26+
False
27+
)
28+
])
29+
30+
def test_each_org_levels_BAU(data, geography_col, measure_col, measures_set, expected):
31+
assert expected == check_consistent_measures(data, geography_col, measure_col, measures_set)
32+
33+
@pytest.mark.parametrize("data, geography_col, measure_col, measures_set", [
34+
(
35+
pd.DataFrame({
36+
"Geog" : ["National" ,"National", 1, "Region", "Local", "Local"],
37+
"measure" : ["m1", "m2", "m1", "m2", "m1", "m2"],
38+
"Value_Unsuppressed" : [4, 2, 2, 1, 2, 1],
39+
}),
40+
"Geog",
41+
"measure",
42+
set({"m1", "m2"}),
43+
)
44+
])
45+
46+
def test_each_org_levels_valueErrors(data, geography_col, measure_col, measures_set):
47+
with pytest.raises(ValueError):
48+
check_consistent_measures(data, geography_col, measure_col, measures_set)
49+
50+
@pytest.mark.parametrize("data, geography_col, measure_col, measures_set", [
51+
(
52+
pd.DataFrame({
53+
"Geog" : ["National" ,"National", "Region", "Region", "Local", "Local"],
54+
"measure" : ["m1", "m2", "m1", True, "m1", "m2"],
55+
"Value_Unsuppressed" : [4, 2, 2, 1, 2, 1],
56+
}),
57+
"Geog",
58+
"measure",
59+
set({"m1", "m2"}),
60+
)
61+
])
62+
63+
64+
def test_each_org_levels_valueErrors_measure_col(data, geography_col, measure_col, measures_set):
65+
with pytest.raises(ValueError):
66+
check_consistent_measures(data, geography_col, measure_col, measures_set)
67+
68+
@pytest.mark.parametrize("data, geography_col, measure_col, measures_set", [
69+
(
70+
pd.DataFrame({
71+
"Geog" : ["National" ,"National", "Region", "Region", "Local", "Local"],
72+
"measure" : ["m1", "m2", "m1", "m2", "m1", "m2"],
73+
"Value_Unsuppressed" : [4, 2, 2, 1, 2, 1],
74+
}),
75+
"Global",
76+
"measure",
77+
set({"m1", "m2"}),
78+
)
79+
])
80+
81+
def test_each_geography_col_keyError(data, geography_col, measure_col, measures_set):
82+
with pytest.raises(KeyError):
83+
check_consistent_measures(data, geography_col, measure_col, measures_set)

0 commit comments

Comments
 (0)