# # coding=utf-8 # from unittest import TestCase # # from earthdiagnostics.ocean.interpolate import Interpolate # from mock import Mock # # from earthdiagnostics.modelingrealm import ModelingRealms # # # class TestInterpolate(TestCase): # # def setUp(self): # self.data_manager = Mock() # # self.diags = Mock() # self.diags.model_version = 'model_version' # self.diags.config.experiment.get_chunk_list.return_value = (('20010101', 0, 0), ('20010101', 0, 1)) # self.diags.config.experiment.model_version = 'model_version' # # self.interpolate = Interpolate(self.data_manager, '20000101', 1, 1, ModelingRealms.atmos, 'var', 'grid', # 'model_version', False) # # def test_generate_jobs(self): # jobs = Interpolate.generate_jobs(self.diags, ['interp', 'grid', 'var']) # self.assertEqual(len(jobs), 2) # self.assertEqual(jobs[0], Interpolate(self.data_manager, '20010101', 0, 0, ModelingRealms.ocean, 'var', 'grid', # 'model_version', False)) # self.assertEqual(jobs[1], Interpolate(self.data_manager, '20010101', 0, 1, ModelingRealms.ocean, 'var', 'grid', # 'model_version', False)) # # jobs = Interpolate.generate_jobs(self.diags, ['interp', 'grid', 'var', 'atmos']) # self.assertEqual(len(jobs), 2) # self.assertEqual(jobs[0], Interpolate(self.data_manager, '20010101', 0, 0, ModelingRealms.atmos, 'var', 'grid', # 'model_version', False)) # self.assertEqual(jobs[1], Interpolate(self.data_manager, '20010101', 0, 1, ModelingRealms.atmos, 'var', 'grid', # 'model_version', False)) # # jobs = Interpolate.generate_jobs(self.diags, ['interp', 'grid', 'var', 'atmos', 'true']) # self.assertEqual(len(jobs), 2) # self.assertEqual(jobs[0], Interpolate(self.data_manager, '20010101', 0, 0, ModelingRealms.atmos, 'var', 'grid', # 'model_version', True)) # self.assertEqual(jobs[1], Interpolate(self.data_manager, '20010101', 0, 1, ModelingRealms.atmos, 'var', 'grid', # 'model_version', True)) # # with self.assertRaises(Exception): # Interpolate.generate_jobs(self.diags, ['interp']) # # with self.assertRaises(Exception): # Interpolate.generate_jobs(self.diags, ['interp', '0', '0', '0', '0', '0', '0', '0']) # # def test_str(self): # self.assertEquals(str(self.interpolate), 'Interpolate Startdate: 20000101 Member: 1 Chunk: 1 ' # 'Variable: atmos:var Target grid: grid Invert lat: False ' # 'Model: model_version')