def test_time_zone_in_extended_data_to_data_element_to_data_item_conversion( self): # test the whole path, redundant? data = numpy.ones((8, 6), numpy.int) metadata = { "description": { "time_zone": { "tz": "+0300", "dst": "+60" } }, "hardware_source": { "one": 1, "two": "b" } } timestamp = datetime.datetime(2013, 11, 18, 14, 5, 4, 1) xdata = DataAndMetadata.new_data_and_metadata(data, metadata=metadata, timestamp=timestamp) data_element = ImportExportManager.create_data_element_from_extended_data( xdata) data_item = ImportExportManager.create_data_item_from_data_element( data_element) self.assertEqual(data_item.metadata["description"]["time_zone"]["tz"], "+0300") self.assertEqual(data_item.metadata["description"]["time_zone"]["dst"], "+60") self.assertEqual("2013-11-18 14:05:04.000001", str(data_item.created))
def test_extended_data_to_data_element_includes_time_zone(self): # extended data timestamp is utc; timezone is specified in metadata/description/time_zone data = numpy.ones((8, 6), int) metadata = {"description": {"time_zone": {"tz": "+0300", "dst": "+60"}}} timestamp = datetime.datetime(2013, 11, 18, 14, 5, 4, 0) xdata = DataAndMetadata.new_data_and_metadata(data, metadata=metadata, timestamp=timestamp) data_element = ImportExportManager.create_data_element_from_extended_data(xdata) self.assertEqual(data_element["datetime_modified"], {"dst": "+60", "local_datetime": "2013-11-18T17:05:04", 'tz': "+0300"})
def test_data_element_to_extended_data_conversion(self): data = numpy.ones((8, 6), int) intensity_calibration = Calibration.Calibration(offset=1, scale=1.1, units="one") dimensional_calibrations = [Calibration.Calibration(offset=2, scale=2.1, units="two"), Calibration.Calibration(offset=3, scale=2.2, units="two")] metadata = {"hardware_source": {"one": 1, "two": "b"}} timestamp = datetime.datetime.now() data_descriptor = DataAndMetadata.DataDescriptor(is_sequence=False, collection_dimension_count=1, datum_dimension_count=1) xdata = DataAndMetadata.new_data_and_metadata(data, intensity_calibration=intensity_calibration, dimensional_calibrations=dimensional_calibrations, metadata=metadata, timestamp=timestamp, data_descriptor=data_descriptor) data_element = ImportExportManager.create_data_element_from_extended_data(xdata) new_xdata = ImportExportManager.convert_data_element_to_data_and_metadata(data_element) self.assertTrue(numpy.array_equal(data, new_xdata.data)) self.assertNotEqual(id(new_xdata.intensity_calibration), id(intensity_calibration)) self.assertEqual(new_xdata.intensity_calibration, intensity_calibration) self.assertNotEqual(id(new_xdata.dimensional_calibrations[0]), id(dimensional_calibrations[0])) self.assertEqual(new_xdata.dimensional_calibrations, dimensional_calibrations) self.assertNotEqual(id(new_xdata.metadata), id(metadata)) self.assertEqual(new_xdata.metadata, metadata) self.assertNotEqual(id(new_xdata.data_descriptor), id(data_descriptor)) self.assertEqual(new_xdata.data_descriptor, data_descriptor)