@@ -214,3 +214,65 @@ def test_wdi_get_indicators(self):
214
214
# assert_index_equal doesn't exists
215
215
assert result .columns .equals (exp_col )
216
216
assert len (result ) > 10000
217
+
218
+ def test_wdi_download_monthly (self ):
219
+
220
+ expected = {'COPPER' : {('World' , '2012M01' ): 8040.47 ,
221
+ ('World' , '2011M12' ): 7565.48 ,
222
+ ('World' , '2011M11' ): 7581.02 ,
223
+ ('World' , '2011M10' ): 7394.19 ,
224
+ ('World' , '2011M09' ): 8300.14 ,
225
+ ('World' , '2011M08' ): 9000.76 ,
226
+ ('World' , '2011M07' ): 9650.46 ,
227
+ ('World' , '2011M06' ): 9066.85 ,
228
+ ('World' , '2011M05' ): 8959.90 ,
229
+ ('World' , '2011M04' ): 9492.79 ,
230
+ ('World' , '2011M03' ): 9503.36 ,
231
+ ('World' , '2011M02' ): 9867.60 ,
232
+ ('World' , '2011M01' ): 9555.70 }}
233
+ expected = pd .DataFrame (expected )
234
+ # Round, to ignore revisions to data.
235
+ expected = np .round (expected , decimals = - 3 )
236
+ expected = expected .sort_index ()
237
+ cntry_codes = 'ALL'
238
+ inds = 'COPPER'
239
+ result = download (country = cntry_codes , indicator = inds ,
240
+ start = 2011 , end = 2012 , freq = 'M' ,errors = 'ignore' )
241
+ result = result .sort_index ()
242
+ result = np .round (result , decimals = - 3 )
243
+
244
+ expected .index .names = ['country' , 'year' ]
245
+ tm .assert_frame_equal (result , expected )
246
+
247
+ result = WorldBankReader (inds , countries = cntry_codes ,
248
+ start = 2011 , end = 2012 , freq = 'M' , errors = 'ignore' ).read ()
249
+ result = result .sort_index ()
250
+ result = np .round (result , decimals = - 3 )
251
+ tm .assert_frame_equal (result , expected )
252
+
253
+ def test_wdi_download_quarterly (self ):
254
+
255
+ expected = {'DT.DOD.PUBS.CD.US' : {('Albania' , '2012Q1' ): 3240539817.18 ,
256
+ ('Albania' , '2011Q4' ): 3213979715.15 ,
257
+ ('Albania' , '2011Q3' ): 3187681048.95 ,
258
+ ('Albania' , '2011Q2' ): 3248041513.86 ,
259
+ ('Albania' , '2011Q1' ): 3137210567.92 ,}}
260
+ expected = pd .DataFrame (expected )
261
+ # Round, to ignore revisions to data.
262
+ expected = np .round (expected , decimals = - 3 )
263
+ expected = expected .sort_index ()
264
+ cntry_codes = 'ALB'
265
+ inds = 'DT.DOD.PUBS.CD.US'
266
+ result = download (country = cntry_codes , indicator = inds ,
267
+ start = 2011 , end = 2012 , freq = 'Q' ,errors = 'ignore' )
268
+ result = result .sort_index ()
269
+ result = np .round (result , decimals = - 3 )
270
+
271
+ expected .index .names = ['country' , 'year' ]
272
+ tm .assert_frame_equal (result , expected )
273
+
274
+ result = WorldBankReader (inds , countries = cntry_codes ,
275
+ start = 2011 , end = 2012 , freq = 'Q' , errors = 'ignore' ).read ()
276
+ result = result .sort_index ()
277
+ result = np .round (result , decimals = - 1 )
278
+ tm .assert_frame_equal (result , expected )
0 commit comments