@@ -18,6 +18,10 @@ def setUp(self):
18
18
('site1', 'flow', 'cfs', '2015-01-04', 'routine', 0.9, None),
19
19
('site1', 'flow', 'cfs', '2015-01-05', 'routine', 0.3, None),
20
20
21
+
('site2', 'height', None, '2015-01-01', 'routine', 1.0, None),
22
+
('site2', 'height', None, '2015-01-02', 'routine', 1.1, None),
23
+
('site2', 'height', None, '2015-01-05', 'routine', 1.5, None),
24
+
21
25
('site2', 'flow', 'cfs', '2015-01-01', 'routine', 0.0, None),
22
26
('site2', 'flow', 'cfs', '2015-01-02', 'routine', 0.7, None),
23
27
('site2', 'flow', 'cfs', '2015-01-03', 'routine', 0.2, None),
@@ -38,37 +42,44 @@ def setUp(self):
38
42
def test_complex_series(self):
39
43
response = self.client.get("/complextimeseries.csv")
40
44
self.assertEqual(
41
-
""",,value,value,value,flag
42
-
units,,-,cfs,cfs,cfs
43
-
parameter,,height,flow,flow,flow
44
-
site,,site1,site1,site2,site1
45
-
date,type,,,,
46
-
2015-01-01,routine,0.5,,0.0,
47
-
2015-01-01,special,,0.7,,
48
-
2015-01-02,routine,0.4,0.8,0.7,
49
-
2015-01-03,routine,0.6,0.0,0.2,Q
50
-
2015-01-04,routine,,0.9,0.3,
51
-
2015-01-04,special,0.2,,,
52
-
2015-01-05,routine,0.1,0.3,0.8,
45
+
""",,value,value,value,value,flag
46
+
units,,-,-,cfs,cfs,cfs
47
+
parameter,,height,height,flow,flow,flow
48
+
site,,site1,site2,site1,site2,site1
49
+
date,type,,,,,
50
+
2015-01-01,routine,0.5,1.0,,0.0,
51
+
2015-01-01,special,,,0.7,,
52
+
2015-01-02,routine,0.4,1.1,0.8,0.7,
53
+
2015-01-03,routine,0.6,,0.0,0.2,Q
54
+
2015-01-04,routine,,,0.9,0.3,
55
+
2015-01-04,special,0.2,,,,
56
+
2015-01-05,routine,0.1,1.5,0.3,0.8,
53
57
""".replace(' ', ''),
54
58
response.content.decode('utf-8'),
55
59
)
56
60
datasets = self.parse_csv(response)
57
-
self.assertEqual(len(datasets), 3)
58
-
for dataset in datasets:
59
-
self.assertEqual(len(dataset['data']), 5)
61
+
self.assertEqual(len(datasets), 4)
60
62
61
63
s1flow = None
62
64
s1height = None
63
65
s2flow = None
66
+
s2height = None
64
67
for dataset in datasets:
65
68
if dataset['site'] == "site1":
66
69
if dataset['parameter'] == "flow":
67
70
s1flow = dataset
68
71
else:
69
72
s1height = dataset
70
73
else:
71
-
s2flow = dataset
74
+
if dataset['parameter'] == "flow":
75
+
s2flow = dataset
76
+
else:
77
+
s2height = dataset
78
+
79
+
self.assertEqual(len(s1flow['data']), 5)
80
+
self.assertEqual(len(s1height['data']), 5)
81
+
self.assertEqual(len(s2flow['data']), 5)
82
+
self.assertEqual(len(s2height['data']), 3)
72
83
73
84
d0 = s1height['data'][0]
74
85
self.assertEqual(d0['date'], '2015-01-01')
@@ -86,12 +97,13 @@ def test_complex_series(self):
86
97
def test_complex_scatter(self):
87
98
response = self.client.get("/complexscatter.csv")
88
99
self.assertEqual(
89
-
""",,flow-cfs-value,flow-cfs-value,height-value
90
-
site,,site1,site2,site1
91
-
date,type,,,
92
-
2015-01-02,routine,0.8,0.7,0.4
93
-
2015-01-03,routine,0.0,0.2,0.6
94
-
2015-01-05,routine,0.3,0.8,0.1
100
+
""",,flow-cfs-value,flow-cfs-value,height-value,height-value
101
+
site,,site1,site2,site1,site2
102
+
date,type,,,,
103
+
2015-01-01,routine,,0.0,,1.0
104
+
2015-01-02,routine,0.8,0.7,0.4,1.1
105
+
2015-01-03,routine,0.0,,0.6,
106
+
2015-01-05,routine,0.3,0.8,0.1,1.5
95
107
""".replace(' ', ''),
96
108
response.content.decode('utf-8')
97
109
)
@@ -106,12 +118,12 @@ def test_complex_scatter(self):
106
118
'flow-cfs-value': 0.3, 'height-value': 0.1},
107
119
]},
108
120
{'site': 'site2', 'data': [
121
+
{'date': '2015-01-01', 'type': 'routine',
122
+
'flow-cfs-value': 0.0, 'height-value': 1.0},
109
123
{'date': '2015-01-02', 'type': 'routine',
110
-
'flow-cfs-value': 0.7},
111
-
{'date': '2015-01-03', 'type': 'routine',
112
-
'flow-cfs-value': 0.2},
124
+
'flow-cfs-value': 0.7, 'height-value': 1.1},
113
125
{'date': '2015-01-05', 'type': 'routine',
114
-
'flow-cfs-value': 0.8},
126
+
'flow-cfs-value': 0.8, 'height-value': 1.5},
115
127
]},
116
128
], datasets)
117
129
@@ -120,18 +132,23 @@ def test_complex_boxplot(self):
120
132
response = self.client.get("/complexboxplot.csv")
121
133
datasets = self.parse_csv(response)
122
134
123
-
self.assertEqual(len(datasets), 3)
135
+
self.assertEqual(len(datasets), 4)
124
136
s1flow = None
125
137
s1height = None
126
138
s2flow = None
139
+
s2height = None
140
+
127
141
for dataset in datasets:
128
142
if dataset['site'] == "site1":
129
143
if dataset['parameter'] == "flow":
130
144
s1flow = dataset
131
145
else:
132
146
s1height = dataset
133
147
else:
134
-
s2flow = dataset
148
+
if dataset['parameter'] == "flow":
149
+
s2flow = dataset
150
+
else:
151
+
s2height = dataset
135
152
136
153
self.assertEqual(len(s1height['data']), 1)
137
154
self.assertEqual(s1height['units'], '-')
@@ -148,6 +165,13 @@ def test_complex_boxplot(self):
148
165
self.assertEqual(round(stats['value-mean'], 8), 0.54)
149
166
self.assertEqual(stats['value-whishi'], 0.9)
150
167
168
+
self.assertEqual(s2height['units'], '-')
169
+
stats = s2height['data'][0]
170
+
self.assertEqual(stats['year'], '2015')
171
+
self.assertEqual(stats['value-whislo'], 1.0)
172
+
self.assertEqual(stats['value-mean'], 1.2)
173
+
self.assertEqual(stats['value-whishi'], 1.5)
174
+
151
175
self.assertEqual(s2flow['units'], 'cfs')
152
176
stats = s2flow['data'][0]
153
177
self.assertEqual(stats['year'], '2015')
@@ -161,14 +185,19 @@ def test_complex_boxplot_series(self):
161
185
s1flow = None
162
186
s1height = None
163
187
s2flow = None
188
+
s2height = None
189
+
164
190
for dataset in datasets:
165
191
if dataset['site'] == "site1":
166
192
if dataset['parameter'] == "flow":
167
193
s1flow = dataset
168
194
else:
169
195
s1height = dataset
170
196
else:
171
-
s2flow = dataset
197
+
if dataset['parameter'] == "flow":
198
+
s2flow = dataset
199
+
else:
200
+
s2height = dataset
172
201
173
202
self.assertEqual(len(s1height['data']), 1)
174
203
stats = s1height['data'][0]
@@ -183,7 +212,12 @@ def test_complex_boxplot_series(self):
183
212
self.assertEqual(round(stats['value-mean'], 8), 0.54)
184
213
self.assertEqual(stats['value-whishi'], 0.9)
185
214
186
-
self.assertEqual(len(s1flow['data']), 1)
215
+
stats = s2height['data'][0]
216
+
self.assertNotIn('year', stats)
217
+
self.assertEqual(stats['value-whislo'], 1.0)
218
+
self.assertEqual(stats['value-mean'], 1.2)
219
+
self.assertEqual(stats['value-whishi'], 1.5)
220
+
187
221
stats = s2flow['data'][0]
188
222
self.assertNotIn('year', stats)
189
223
self.assertEqual(stats['value-whislo'], 0.0)
@@ -196,14 +230,19 @@ def test_complex_boxplot_month_group(self):
196
230
s1flow = None
197
231
s1height = None
198
232
s2flow = None
233
+
s2height = None
234
+
199
235
for dataset in datasets:
200
236
if dataset['site'] == "site1":
201
237
if dataset['parameter'] == "flow":
202
238
s1flow = dataset
203
239
else:
204
240
s1height = dataset
205
241
else:
206
-
s2flow = dataset
242
+
if dataset['parameter'] == "flow":
243
+
s2flow = dataset
244
+
else:
245
+
s2height = dataset
207
246
208
247
self.assertEqual(len(s1height['data']), 1)
209
248
stats = s1height['data'][0]
@@ -218,7 +257,12 @@ def test_complex_boxplot_month_group(self):
218
257
self.assertEqual(round(stats['value-mean'], 8), 0.54)
219
258
self.assertEqual(stats['value-whishi'], 0.9)
220
259
221
-
self.assertEqual(len(s1flow['data']), 1)
260
+
stats = s2height['data'][0]
261
+
self.assertEqual(stats['month'], '1')
262
+
self.assertEqual(stats['value-whislo'], 1.0)
263
+
self.assertEqual(stats['value-mean'], 1.2)
264
+
self.assertEqual(stats['value-whishi'], 1.5)
265
+
222
266
stats = s2flow['data'][0]
223
267
self.assertEqual(stats['month'], '1')
224
268
self.assertEqual(stats['value-whislo'], 0.0)
@@ -232,8 +276,8 @@ def test_complex_boxplot_year(self):
232
276
stats = datasets[0]['data'][0]
233
277
self.assertEqual(stats['year'], 2015)
234
278
self.assertEqual(stats['value-whislo'], 0.0)
235
-
self.assertEqual(round(stats['value-mean'], 5), 0.43333)
236
-
self.assertEqual(stats['value-whishi'], 0.9)
279
+
self.assertEqual(round(stats['value-mean'], 5), 0.56111)
280
+
self.assertEqual(stats['value-whishi'], 1.5)
237
281
238
282
def parse_csv(self, response):
239
283
return parse_csv(response.content.decode('utf-8'))
RetroSearch is an open source project built by @garambo | Open a GitHub Issue
Search and Browse the WWW like it's 1997 | Search results from DuckDuckGo
HTML:
3.2
| Encoding:
UTF-8
| Version:
0.7.4