def test_props(self): self.assertEqual('default', self.processor.name) self.assertEqual( 'Single-scene NetCDF/CF inputs in xcube standard format', self.processor.description) self.assertEqual('netcdf4', self.processor.input_reader) processor = DefaultInputProcessor(input_reader="zarr") self.assertEqual('zarr', processor.input_reader)
class DefaultInputProcessorTest(unittest.TestCase): def setUp(self): self.processor = DefaultInputProcessor() def test_props(self): self.assertEqual('default', self.processor.name) self.assertEqual( 'Single-scene NetCDF/CF inputs in xcube standard format', self.processor.description) self.assertEqual('netcdf4', self.processor.input_reader) processor = DefaultInputProcessor(input_reader="zarr") self.assertEqual('zarr', processor.input_reader) def test_reprojection_info(self): # noinspection PyNoneFunctionAssignment reprojection_info = self.processor.get_reprojection_info( create_default_dataset()) self.assertIsNotNone(reprojection_info) def test_to_time_range(self): ds = create_default_dataset(time_mode="time") t1, t2 = self.processor.get_time_range(ds) self.assertEqual(to_time_in_days_since_1970("20100301T120000Z"), t1) self.assertEqual(to_time_in_days_since_1970("20100301T120000Z"), t2) ds = create_default_dataset(time_mode="time_bnds") t1, t2 = self.processor.get_time_range(ds) self.assertEqual(to_time_in_days_since_1970("20100301T000000Z"), t1) self.assertEqual(to_time_in_days_since_1970("20100301T235959Z"), t2) ds = create_default_dataset(time_mode="time_coverage") t1, t2 = self.processor.get_time_range(ds) self.assertEqual(to_time_in_days_since_1970("20100301T000000Z"), t1) self.assertEqual(to_time_in_days_since_1970("20100301T235959Z"), t2) ds = create_default_dataset(time_mode="start_stop_time") t1, t2 = self.processor.get_time_range(ds) self.assertEqual(to_time_in_days_since_1970("20100301T000000Z"), t1) self.assertEqual(to_time_in_days_since_1970("20100301T235959Z"), t2) ds = create_default_dataset(time_mode="start_stop_date") t1, t2 = self.processor.get_time_range(ds) self.assertEqual(to_time_in_days_since_1970("20100301T000000Z"), t1) self.assertEqual(to_time_in_days_since_1970("20100301T235959Z"), t2) ds = create_default_dataset(time_mode="no_time") with self.assertRaises(ValueError) as cm: self.processor.get_time_range(ds) self.assertEqual( "invalid input: missing time coverage information in dataset", f"{cm.exception}") def test_pre_process(self): ds1 = create_default_dataset(time_mode="time") ds2 = self.processor.pre_process(ds1) self.assertIsNot(ds1, ds2) ds1 = create_default_dataset(time_mode="time_bnds") ds2 = self.processor.pre_process(ds1) self.assertIsNot(ds1, ds2) ds1 = create_default_dataset(time_mode="time_coverage") ds2 = self.processor.pre_process(ds1) self.assertIs(ds1, ds2) ds1 = create_default_dataset(time_mode="start_stop_time") ds2 = self.processor.pre_process(ds1) self.assertIs(ds1, ds2) def test_post_process(self): ds1 = create_default_dataset() ds2 = self.processor.post_process(ds1) self.assertIs(ds1, ds2)
def setUp(self): self.processor = DefaultInputProcessor()
def get_time_range(self, dataset: xr.Dataset) -> Tuple[float, float]: return DefaultInputProcessor().get_time_range(dataset)