def test_version_ostc_mk2(self): """ Test OSTC Mk.2 model and version parsing from raw data """ dc = OSTCDataParser() ver = dc.version(od.RAW_DATA_OSTC_MK2_190) self.assertEquals('OSTC Mk.2 1.90', ver)
def test_version_ostc_2n(self): """ Test OSTC 2N model and version parsing from raw data """ dc = OSTCDataParser() ver = dc.version(od.RAW_DATA_OSTC_N2_191_HW) self.assertEquals('OSTC 2N 1.91', ver)
def test_version_ostc(self): """ Test OSTC model and version parsing from raw data """ dc = OSTCDataParser() ver = dc.version(od.RAW_DATA_OSTC) self.assertEquals('OSTC 1.26', ver)
def test_version_191(self): """ Test OSTC 1.91 and higher version parsing """ dc = OSTCDataParser() ver = dc.version(od.RAW_DATA_OSTC_MK2_194) self.assertEquals('OSTC Mk.2 1.94', ver) ver = dc.version(od.RAW_DATA_OSTC_MK2_196) self.assertEquals('OSTC Mk.2 1.96', ver)
def test_ppo2_set(self): """ Test OSTC ppO2 change """ dump = kd.BinaryData(datetime=datetime.now(), data=od.RAW_DATA_OSTC_MK2_196) dc = OSTCDataParser() dive = list(dc.dives(dump))[7] samples = list(dive.profile) self.assertEquals(104000, samples[1].setpoint) self.assertEquals(137000, samples[166].setpoint) self.assertEquals(127000, samples[1385].setpoint)
def test_gas(self): """ Test OSTC gas data to data model conversion """ dump = kd.BinaryData(datetime=datetime.now(), data=od.RAW_DATA_OSTC_MK2_196) dc = OSTCDataParser() dive = list(dc.dives(dump))[7] samples = list(dive.profile) self.assertEquals('tx1633', samples[0].gas.id) self.assertEquals('tx1633', samples[1360].gas.id) self.assertEquals('o2', samples[1372].gas.id) self.assertEquals('ean47', samples[1491].gas.id)
def test_avg_depth_191(self): """ Test OSTC 1.91 average depth parsing """ dc = OSTCDataParser() dump = kd.BinaryData(datetime=datetime.now(), data=od.RAW_DATA_OSTC_MK2_196) dive = next(dc.dives(dump)) self.assertEquals(7.3, dive.avg_depth) # do not use 1st and 2nd dives as they were generated with firmware # ver < 1.91 dump = kd.BinaryData(datetime=datetime.now(), data=od.RAW_DATA_OSTC_MK2_194) dive = list(dc.dives(dump))[2] self.assertEquals(26.05, dive.avg_depth)
def test_version_ostc_2c(self): """ Test OSTC 2C model and version identification Verify that OSTC with serial 7000 is identified as OSTC 2C """ with mock.patch('kenozooid.driver.ostc.parser.get_data') as f: status = f.return_value = mock.MagicMock() status.eeprom = mock.MagicMock() status.eeprom.serial = 7000 status.ver1 = 2 status.ver2 = 1 dc = OSTCDataParser() data = mock.MagicMock() ver = dc.version(data) self.assertEquals('OSTC 2C 2.01', ver)
def test_gas_info_error(self): """ Test OSTC error when fetching gas mix from header """ dives = ostc_parser.profiles(od.RAW_DATA_OSTC_MK2_194) header, profile = list(dives)[7] header = ostc_parser.header(header) dc = OSTCDataParser() self.assertRaises(ValueError, dc._get_gas, None, 255)
def test_gas_info(self): """ Test OSTC gas fetching from header """ dives = ostc_parser.profiles(od.RAW_DATA_OSTC_MK2_194) header, profile = list(dives)[7] header = ostc_parser.header(header) dc = OSTCDataParser() self.assertEquals('air', dc._get_gas(header, 1).id) self.assertEquals('ean47', dc._get_gas(header, 2).id) self.assertEquals('o2', dc._get_gas(header, 3).id) self.assertEquals('tx1340', dc._get_gas(header, 4).id) self.assertEquals('tx1737', dc._get_gas(header, 5).id) self.assertEquals('tx1050', dc._get_gas(header, 6).id)
def test_dive_mode(self): """ Test OSTC dive mode parsing """ dump = kd.BinaryData(datetime=datetime.now(), data=od.RAW_DATA_OSTC_MK2_196) dc = OSTCDataParser() modes = [d.mode for d in dc.dives(dump)] self.assertEquals(['closedcircuit'] * 8, modes) dump = kd.BinaryData(datetime=datetime.now(), data=od.RAW_DATA_OSTC_N2_191_HW) dc = OSTCDataParser() modes = [d.mode for d in dc.dives(dump)] self.assertEquals([None, None, 'opencircuit', 'opencircuit'], modes)
def setUp(self): super(DataModelTestCase, self).setUp() dump = kd.BinaryData(datetime=datetime.now(), data=od.RAW_DATA_OSTC) dc = OSTCDataParser() self.dives = list(dc.dives(dump))