def setUp(self): # This test does not start a container so we have to hack creating a FileSystem singleton instance # FileSystem(DotDict()) self.tx_L0 = ctd_L0_all() self.tx_L0.streams = defaultdict(Mock) self.tx_L0.cond_publisher = Mock() self.tx_L0.temp_publisher = Mock() self.tx_L0.pres_publisher = Mock() self.i = 0 self.tx_L1_C = CTDL1ConductivityTransform() self.tx_L1_C.streams = defaultdict(Mock) self.tx_L1_T = CTDL1TemperatureTransform() self.tx_L1_T.streams = defaultdict(Mock) self.tx_L1_P = CTDL1PressureTransform() self.tx_L1_P.streams = defaultdict(Mock) self.tx_L2_S = SalinityTransform() self.tx_L2_S.streams = defaultdict(Mock) self.tx_L2_D = DensityTransform() self.tx_L2_D.streams = defaultdict(Mock)
def setUp(self): # This test does not start a container so we have to hack creating a FileSystem singleton instance # FileSystem(DotDict()) self.px_ctd = SimpleCtdPublisher() self.px_ctd.last_time = 0 self.tx_L0 = ctd_L0_all() self.tx_L0.streams = defaultdict(Mock) self.tx_L0.cond_publisher = Mock() self.tx_L0.temp_publisher = Mock() self.tx_L0.pres_publisher = Mock() self.i = 0 self.tx_L1_C = CTDL1ConductivityTransform() self.tx_L1_C.streams = defaultdict(Mock) self.tx_L1_T = CTDL1TemperatureTransform() self.tx_L1_T.streams = defaultdict(Mock) self.tx_L1_P = CTDL1PressureTransform() self.tx_L1_P.streams = defaultdict(Mock) self.tx_L2_S = SalinityTransform() self.tx_L2_S.streams = defaultdict(Mock) self.tx_L2_D = DensityTransform() self.tx_L2_D.streams = defaultdict(Mock)
class TestCtdTransforms(IonUnitTestCase): def setUp(self): # This test does not start a container so we have to hack creating a FileSystem singleton instance # FileSystem(DotDict()) self.px_ctd = SimpleCtdPublisher() self.px_ctd.last_time = 0 self.tx_L0 = ctd_L0_all() self.tx_L0.streams = defaultdict(Mock) self.tx_L0.cond_publisher = Mock() self.tx_L0.temp_publisher = Mock() self.tx_L0.pres_publisher = Mock() self.i = 0 self.tx_L1_C = CTDL1ConductivityTransform() self.tx_L1_C.streams = defaultdict(Mock) self.tx_L1_T = CTDL1TemperatureTransform() self.tx_L1_T.streams = defaultdict(Mock) self.tx_L1_P = CTDL1PressureTransform() self.tx_L1_P.streams = defaultdict(Mock) self.tx_L2_S = SalinityTransform() self.tx_L2_S.streams = defaultdict(Mock) self.tx_L2_D = DensityTransform() self.tx_L2_D.streams = defaultdict(Mock) def test_transforms(self): length = 1 packet = self._get_new_ctd_packet("STR_ID", length) self.tx_L0.process(packet) self.tx_L0.cond_publisher.publish = mocksignature(self.tx_L0.cond_publisher.publish) self.tx_L0.cond_publisher.publish.return_value = '' self.tx_L0.temp_publisher.publish = mocksignature(self.tx_L0.cond_publisher.publish) self.tx_L0.temp_publisher.publish.return_value = '' self.tx_L0.pres_publisher.publish = mocksignature(self.tx_L0.cond_publisher.publish) self.tx_L0.pres_publisher.publish.return_value = '' L0_cond = self.tx_L0.cond_publisher.publish.call_args[0][0] L0_temp = self.tx_L0.temp_publisher.publish.call_args[0][0] L0_pres = self.tx_L0.pres_publisher.publish.call_args[0][0] log.debug("L0 cond: %s" % L0_cond) log.debug("L0 temp: %s" % L0_temp) log.debug("L0 pres: %s" % L0_pres) L1_cond = self.tx_L1_C.execute(L0_cond) log.debug("L1 cond: %s" % L1_cond) L1_temp = self.tx_L1_T.execute(L0_temp) log.debug("L1 temp: %s" % L1_temp) L1_pres = self.tx_L1_P.execute(L0_pres) log.debug("L1 pres: %s" % L1_pres) L2_sal = self.tx_L2_S.execute(packet) log.debug("L2 sal: %s" % L2_sal) L2_dens = self.tx_L2_D.execute(packet) log.debug("L2 dens: %s" % L2_dens)
class TestCtdTransforms(IonUnitTestCase): def setUp(self): # This test does not start a container so we have to hack creating a FileSystem singleton instance # FileSystem(DotDict()) self.px_ctd = SimpleCtdPublisher() self.px_ctd.last_time = 0 self.tx_L0 = ctd_L0_all() self.tx_L0.streams = defaultdict(Mock) self.tx_L0.cond_publisher = Mock() self.tx_L0.temp_publisher = Mock() self.tx_L0.pres_publisher = Mock() self.i = 0 self.tx_L1_C = CTDL1ConductivityTransform() self.tx_L1_C.streams = defaultdict(Mock) self.tx_L1_T = CTDL1TemperatureTransform() self.tx_L1_T.streams = defaultdict(Mock) self.tx_L1_P = CTDL1PressureTransform() self.tx_L1_P.streams = defaultdict(Mock) self.tx_L2_S = SalinityTransform() self.tx_L2_S.streams = defaultdict(Mock) self.tx_L2_D = DensityTransform() self.tx_L2_D.streams = defaultdict(Mock) @unittest.skip('The UNIT tests have to be completely redone') def test_transforms(self): length = 1 packet = self._get_new_ctd_packet("STR_ID", length) self.tx_L0.process(packet) self.tx_L0.cond_publisher.publish = mocksignature(self.tx_L0.cond_publisher.publish) self.tx_L0.cond_publisher.publish.return_value = '' self.tx_L0.temp_publisher.publish = mocksignature(self.tx_L0.cond_publisher.publish) self.tx_L0.temp_publisher.publish.return_value = '' self.tx_L0.pres_publisher.publish = mocksignature(self.tx_L0.cond_publisher.publish) self.tx_L0.pres_publisher.publish.return_value = '' L0_cond = self.tx_L0.cond_publisher.publish.call_args[0][0] L0_temp = self.tx_L0.temp_publisher.publish.call_args[0][0] L0_pres = self.tx_L0.pres_publisher.publish.call_args[0][0] log.debug("L0 cond: %s" % L0_cond) log.debug("L0 temp: %s" % L0_temp) log.debug("L0 pres: %s" % L0_pres) L1_cond = self.tx_L1_C.execute(L0_cond) log.debug("L1 cond: %s" % L1_cond) L1_temp = self.tx_L1_T.execute(L0_temp) log.debug("L1 temp: %s" % L1_temp) L1_pres = self.tx_L1_P.execute(L0_pres) log.debug("L1 pres: %s" % L1_pres) L2_sal = self.tx_L2_S.execute(packet) log.debug("L2 sal: %s" % L2_sal) L2_dens = self.tx_L2_D.execute(packet) log.debug("L2 dens: %s" % L2_dens) def test_pressure_algorithm(self): """ Inputs Output p_psia p_dbar 230.6859 159.0523 233.8845 161.2577 300.9482 207.4965 400.2314 275.9498 500.3320 344.9668 600.3444 413.9229 1234.5678 851.2045 """ def algorithm(input_pres): output_pres = input_pres * 0.689475728 return output_pres correct_output = numpy.array([159.0523,161.2577,207.4965,275.9498,344.9668,413.9229,851.2045]) input = numpy.array([230.6859, 233.8845, 300.9482,400.2314,500.3320, 600.3444, 1234.5678]) output = algorithm(input) numpy.testing.assert_almost_equal(output, correct_output, decimal=4)
class TestCtdTransforms(IonUnitTestCase): def setUp(self): # This test does not start a container so we have to hack creating a FileSystem singleton instance # FileSystem(DotDict()) self.tx_L0 = ctd_L0_all() self.tx_L0.streams = defaultdict(Mock) self.tx_L0.cond_publisher = Mock() self.tx_L0.temp_publisher = Mock() self.tx_L0.pres_publisher = Mock() self.i = 0 self.tx_L1_C = CTDL1ConductivityTransform() self.tx_L1_C.streams = defaultdict(Mock) self.tx_L1_T = CTDL1TemperatureTransform() self.tx_L1_T.streams = defaultdict(Mock) self.tx_L1_P = CTDL1PressureTransform() self.tx_L1_P.streams = defaultdict(Mock) self.tx_L2_S = SalinityTransform() self.tx_L2_S.streams = defaultdict(Mock) self.tx_L2_D = DensityTransform() self.tx_L2_D.streams = defaultdict(Mock) @unittest.skip('The UNIT tests have to be completely redone') def test_transforms(self): length = 1 packet = self._get_new_ctd_packet("STR_ID", length) self.tx_L0.process(packet) self.tx_L0.cond_publisher.publish = mocksignature( self.tx_L0.cond_publisher.publish) self.tx_L0.cond_publisher.publish.return_value = '' self.tx_L0.temp_publisher.publish = mocksignature( self.tx_L0.cond_publisher.publish) self.tx_L0.temp_publisher.publish.return_value = '' self.tx_L0.pres_publisher.publish = mocksignature( self.tx_L0.cond_publisher.publish) self.tx_L0.pres_publisher.publish.return_value = '' L0_cond = self.tx_L0.cond_publisher.publish.call_args[0][0] L0_temp = self.tx_L0.temp_publisher.publish.call_args[0][0] L0_pres = self.tx_L0.pres_publisher.publish.call_args[0][0] log.debug("L0 cond: %s" % L0_cond) log.debug("L0 temp: %s" % L0_temp) log.debug("L0 pres: %s" % L0_pres) L1_cond = self.tx_L1_C.execute(L0_cond) log.debug("L1 cond: %s" % L1_cond) L1_temp = self.tx_L1_T.execute(L0_temp) log.debug("L1 temp: %s" % L1_temp) L1_pres = self.tx_L1_P.execute(L0_pres) log.debug("L1 pres: %s" % L1_pres) L2_sal = self.tx_L2_S.execute(packet) log.debug("L2 sal: %s" % L2_sal) L2_dens = self.tx_L2_D.execute(packet) log.debug("L2 dens: %s" % L2_dens) def test_pressure_algorithm(self): """ Inputs Output p_psia p_dbar 230.6859 159.0523 233.8845 161.2577 300.9482 207.4965 400.2314 275.9498 500.3320 344.9668 600.3444 413.9229 1234.5678 851.2045 """ def algorithm(input_pres): output_pres = input_pres * 0.689475728 return output_pres correct_output = numpy.array([ 159.0523, 161.2577, 207.4965, 275.9498, 344.9668, 413.9229, 851.2045 ]) input = numpy.array([ 230.6859, 233.8845, 300.9482, 400.2314, 500.3320, 600.3444, 1234.5678 ]) output = algorithm(input) numpy.testing.assert_almost_equal(output, correct_output, decimal=4)
class TestScienceObjectCodec(IonUnitTestCase): pass def setUp(self): # This test does not start a container so we have to hack creating a FileSystem singleton instance FileSystem(DotDict()) self.px_ctd = SimpleCtdPublisher() self.px_ctd.last_time = 0 self.tx_L0 = ctd_L0_all() self.tx_L0.streams = defaultdict(Mock) self.tx_L0.conductivity = Mock() self.tx_L0.temperature = Mock() self.tx_L0.pressure = Mock() self.tx_L1_C = CTDL1ConductivityTransform() self.tx_L1_C.streams = defaultdict(Mock) self.tx_L1_T = CTDL1TemperatureTransform() self.tx_L1_T.streams = defaultdict(Mock) self.tx_L1_P = CTDL1PressureTransform() self.tx_L1_P.streams = defaultdict(Mock) self.tx_L2_S = SalinityTransform() self.tx_L2_S.streams = defaultdict(Mock) self.tx_L2_D = DensityTransform() self.tx_L2_D.streams = defaultdict(Mock) def test_transforms(self): length = 1 packet = self.px_ctd._get_ctd_packet("STR_ID", length) log.info("Packet: %s" % packet) self.tx_L0.process(packet) L0_cond = self.tx_L0.conductivity.publish.call_args[0][0] L0_temp = self.tx_L0.temperature.publish.call_args[0][0] L0_pres = self.tx_L0.pressure.publish.call_args[0][0] log.info("L0 cond: %s" % L0_cond) log.info("L0 temp: %s" % L0_temp) log.info("L0 pres: %s" % L0_pres) L1_cond = self.tx_L1_C.execute(L0_cond) log.info("L1 cond: %s" % L1_cond) L1_temp = self.tx_L1_T.execute(L0_temp) log.info("L1 temp: %s" % L1_temp) L1_pres = self.tx_L1_P.execute(L0_pres) log.info("L1 pres: %s" % L1_pres) L2_sal = self.tx_L2_S.execute(packet) log.info("L2 sal: %s" % L2_sal) L2_dens = self.tx_L2_D.execute(packet) log.info("L2 dens: %s" % L2_dens)