Newer
Older
# coding=utf-8
from unittest import TestCase
from earthdiagnostics.statistics.climatologicalpercentile import ClimatologicalPercentile
from earthdiagnostics.diagnostic import DiagnosticVariableOption
from mock import Mock, patch
from earthdiagnostics.modelingrealm import ModelingRealms
class TestClimatologicalPercentile(TestCase):
def setUp(self):
self.data_manager = Mock()
self.data_manager.variable_list.get_variable.return_value = None
self.diags = Mock()
self.diags.data_manager = self.data_manager
@patch.object(DiagnosticVariableOption, 'parse', fake_parse)
jobs = ClimatologicalPercentile.generate_jobs(self.diags, ['climpercent', 'ocean', 'var', '2000', '2001', '11'])
self.assertEqual(jobs[0], ClimatologicalPercentile(self.data_manager, ModelingRealms.ocean, 'var',
with self.assertRaises(Exception):
ClimatologicalPercentile.generate_jobs(self.diags, ['climpercent'])
with self.assertRaises(Exception):
ClimatologicalPercentile.generate_jobs(self.diags, ['climpercent', 'ocean', 'var', '2000', '2001', '11',
'extra'])
diagnostic = ClimatologicalPercentile(self.data_manager, ModelingRealms.ocean, 'var',
self.assertEquals(str(diagnostic), 'Climatological percentile Variable: ocean:var Period: 2000-2001 '