You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@climate.apache.org by bo...@apache.org on 2013/08/19 18:07:33 UTC
svn commit: r1515484 -
/incubator/climate/branches/RefactorInput/ocw/tests/test_rcmed.py
Author: boustani
Date: Mon Aug 19 16:07:33 2013
New Revision: 1515484
URL: http://svn.apache.org/r1515484
Log:
test_rcmed.py now can test values, lats, lons, times and get_parameters_metadata() function.
Modified:
incubator/climate/branches/RefactorInput/ocw/tests/test_rcmed.py
Modified: incubator/climate/branches/RefactorInput/ocw/tests/test_rcmed.py
URL: http://svn.apache.org/viewvc/incubator/climate/branches/RefactorInput/ocw/tests/test_rcmed.py?rev=1515484&r1=1515483&r2=1515484&view=diff
==============================================================================
--- incubator/climate/branches/RefactorInput/ocw/tests/test_rcmed.py (original)
+++ incubator/climate/branches/RefactorInput/ocw/tests/test_rcmed.py Mon Aug 19 16:07:33 2013
@@ -18,6 +18,7 @@
import unittest
import datetime
import numpy
+import pickle
import data_source.rcmed as rcmed
@@ -33,46 +34,54 @@ class test_rcmed(unittest.TestCase):
self.max_lon = 15
self.start_time = datetime.datetime(2002, 8, 1)
self.end_time = datetime.datetime(2002, 10, 1)
+ #start and end time for URL to query database is the beginning and end of start_time and end_time
+ self.start_time_for_url = "20020801T0000Z"
+ self.end_time_for_url = "20021031T0000Z"
self.url = "http://rcmes.jpl.nasa.gov/query-api/query.php?"
self.lats=numpy.arange(50.5, 70, 1)
self.lons=numpy.arange(1.5, 15, 1)
- self.times=[datetime.datetime(2002,8,31) + datetime.timedelta(days=x) for x in range(0, 62)]
+ #In this parameter, two days of 10/20 and 10/21 have been missed.
+ self.times=[datetime.datetime(2002, 8, 31) + datetime.timedelta(days=x) for x in range(0, 62)]
self.times.remove(datetime.datetime(2002, 10, 20))
self.times.remove(datetime.datetime(2002, 10, 21))
- #self.values
+ self.values = pickle.load( open( "parameters_values.p", "rb" ) )
+ self.param_metadata_output = pickle.load( open( "parameters_metadata_output.p", "rb" ) )
def return_text(self, url):
- ##TODO: Replace the hard coded start and end time with variables.
if url == self.url + "datasetId={0}¶meterId={1}&latMin={2}&latMax={3}&lonMin={4}&lonMax={5}&timeStart=20020801T0000Z&timeEnd=20021031T0000Z"\
- .format(self.dataset_id, self.parameter_id, self.min_lat, self.max_lat, self.min_lon, self.max_lon):
+ .format(self.dataset_id, self.parameter_id, self.min_lat, self.max_lat, self.min_lon, self.max_lon, self.start_time_for_url, self.end_time_for_url):
return open("parameter_dataset_text.txt")
elif url == self.url + "¶m_info=yes":
return open("parameters_metadata_text.txt")
else:
- raise Exceptption ("The URL is not acceptable.")
+ raise Exception ("The URL is not acceptable.")
- def test_get_parameters_metadata(self):
+ def test_function_get_parameters_metadata(self):
rcmed.urllib2.urlopen = self.return_text
- ##TODO: converting to string may not be very accurate, better approach is necessary
- self.assertEqual(str(rcmed.get_parameters_metadata()), open('get_parameters_metadata_output.txt','r').read())
+ self.assertEqual(rcmed.get_parameters_metadata(), self.param_metadata_output)
- def test_parameter_dataset_latitudes(self):
+ def test_function_parameter_dataset_lats(self):
rcmed.urllib2.urlopen = self.return_text
self.assertTrue(numpy.allclose(rcmed.parameter_dataset(self.dataset_id, self.parameter_id, self.min_lat, self.max_lat, self.min_lon, self.max_lon, self.start_time, self.end_time).lats, self.lats))
- def test_parameter_dataset_longitudes(self):
+ def test_function_parameter_dataset_lons(self):
rcmed.urllib2.urlopen = self.return_text
self.assertTrue(numpy.allclose(rcmed.parameter_dataset(self.dataset_id, self.parameter_id, self.min_lat, self.max_lat, self.min_lon, self.max_lon, self.start_time, self.end_time).lons, self.lons))
- def test_parameter_dataset_times(self):
+ def test_function_parameter_dataset_times(self):
rcmed.urllib2.urlopen = self.return_text
self.assertEqual(rcmed.parameter_dataset(self.dataset_id, self.parameter_id, self.min_lat, self.max_lat, self.min_lon, self.max_lon, self.start_time, self.end_time).times, self.times)
+ def test_function_parameter_dataset_values(self):
+ rcmed.urllib2.urlopen = self.return_text
+ self.assertTrue(numpy.allclose(rcmed.parameter_dataset(self.dataset_id, self.parameter_id, self.min_lat, self.max_lat, self.min_lon, self.max_lon, self.start_time, self.end_time).values, self.values))
+
+
if __name__ == '__main__':
unittest.main()
\ No newline at end of file