@@ -214,3 +214,65 @@ def test_wdi_get_indicators(self):
214214 # assert_index_equal doesn't exists
215215 assert result .columns .equals (exp_col )
216216 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