Skip to content
Snippets Groups Projects
Commit e70bfbec authored by jacques.grelet_ird.fr's avatar jacques.grelet_ird.fr
Browse files

update tests

parent d532e0fd
No related branches found
No related tags found
No related merge requests found
...@@ -27,16 +27,16 @@ titleSummary = "CTD profiles processed during PIRATA-FR29 cruise" ...@@ -27,16 +27,16 @@ titleSummary = "CTD profiles processed during PIRATA-FR29 cruise"
typeInstrument = "SBE911+" typeInstrument = "SBE911+"
instrumentNumber = "09P1263" instrumentNumber = "09P1263"
[ctd.header] [ctd.header]
isHeader = '^[*#]' isHeader = '^[*#]'
DATETIME = 'System UpLoad Time\s*=\s*(\w+)\s+(\d+)\s+(\d+)\s+(\d+):(\d+):(\d+)' DATETIME = 'System UpLoad Time\s*=\s*(\w+)\s+(\d+)\s+(\d+)\s+(\d+):(\d+):(\d+)'
LATITUDE = 'NMEA\s+Latitude\s*[:=]\s*(\d+)\s+(\d+\.\d+)\s+(\w)' LATITUDE = 'NMEA\s+Latitude\s*[:=]\s*(\d+)\s+(\d+\.\d+)\s+(\w)'
LONGITUDE = 'NMEA\s+Longitude\s*[:=]\s*(\d+)\s+(\d+.\d+)\s+(\w)' LONGITUDE = 'NMEA\s+Longitude\s*[:=]\s*(\d+)\s+(\d+.\d+)\s+(\w)'
DATE = 'Date\s*:\s*(\d+)/(\d+)/(\d+)' DATE = 'Date\s*:\s*(\d+)/(\d+)/(\d+)'
TIME = '[Heure|Hour]\s*:\s*(\d+)[:hH](\d+):(\d+)' TIME = '[Heure|Hour]\s*:\s*(\d+)[:hH](\d+):(\d+)'
bottomDepth = 'Bottom Depth\s*:\s*(\d*\.?\d+?)\s*\S*' bottomDepth = 'Bottom Depth\s*:\s*(\d*\.?\d+?)\s*\S*'
operator = 'Operator\s*:\s*(.*)' operator = 'Operator\s*:\s*(.*)'
type = 'Type\s*:\s*(.*)' type = 'Type\s*:\s*(.*)'
[btl] [btl]
typeInstrument = "SBE32 standard 24 Niskin bottles" typeInstrument = "SBE32 standard 24 Niskin bottles"
...@@ -120,27 +120,27 @@ comment = "Extract from .lad files" ...@@ -120,27 +120,27 @@ comment = "Extract from .lad files"
NAVG = 23 NAVG = 23
[split.ctdAll] [split.ctdAll]
ETDD = 2 ETDD = 1
PRES = 3 PRES = 2
DEPTH = 4 DEPTH = 3
TE01 = 5 TE01 = 4
TE02 = 6 TE02 = 5
CND1 = 7 CND1 = 6
CND2 = 8 CND2 = 7
DOV1 = 9 DOV1 = 8
DOV2 = 10 DOV2 = 9
DVT1 = 11 DVT1 = 10
DVT2 = 12 DVT2 = 11
TUR3 = 13 TUR3 = 12
FLU2 = 14 FLU2 = 13
FLU3 = 15 FLU3 = 14
DO12 = 16 DO12 = 15
DO22 = 17 DO22 = 16
PSA1 = 18 PSA1 = 17
PSA2 = 19 PSA2 = 18
DEN1 = 20 DEN1 = 19
DEN2 = 21 DEN2 = 20
SVEL = 22 SVEL = 21
NAVG = 23 NAVG = 23
[split.btl] [split.btl]
......
...@@ -15,48 +15,70 @@ class testConfig(unittest.TestCase): ...@@ -15,48 +15,70 @@ class testConfig(unittest.TestCase):
self.cfg = toml.load('tests/test.toml') self.cfg = toml.load('tests/test.toml')
self.glob = {'author': 'jgrelet IRD March 2019 PIRATA-FR29 cruise', self.glob = {'author': 'jgrelet IRD March 2019 PIRATA-FR29 cruise',
'debug': False, 'echo': True, 'codeRoscop': 'C:\git\python\oceano2python\code_roscop.csv', 'debug': False, 'echo': True,
'ascii': "ascii", 'netcdf': "netcdf", 'odv': "odv"} 'codeRoscop': 'C:\git\python\oceano2python\code_roscop.csv',
'ascii': "ascii",
'netcdf': "netcdf",
'odv': "odv"}
self.cruise = {'cycleMesure': 'PIRATA-FR29', 'plateforme': 'THALASSA', 'callsign': 'FNFP', 'institute': 'IRD', self.cruise = {'cycleMesure': 'PIRATA-FR29',
'timezone': 'GMT', 'beginDate': '01/03/2019', 'endDate': '04/04/2019', 'pi': 'BOURLES', 'plateforme': 'THALASSA',
'creator': 'Jacques.Grelet@ird.fr'} 'callsign': 'FNFP',
'institute': 'IRD',
'timezone': 'GMT',
'beginDate': '01/03/2019',
'endDate': '04/04/2019',
'pi': 'BOURLES',
'creator': 'Jacques.Grelet@ird.fr'}
self.ctd = {'cruisePrefix': 'fr29', 'station': 'Station\\s*:\\s*\\D*(\\d*)', 'stationPrefixLength': 3, self.ctd = {'cruisePrefix': 'fr29',
'titleSummary': 'CTD profiles processed during PIRATA-FR29 cruise', 'typeInstrument': 'SBE911+', 'station': 'Station\s*:\s*\D*(\d*)',
'instrumentNumber': '09P1263', 'stationPrefixLength': 3,
'header': {'isHeader': '^[*#]', 'isDevice': '^\\*\\s+(Sea-Bird)', 'titleSummary': 'CTD profiles processed during PIRATA-FR29 cruise',
'typeInstrument': 'SBE911+',
'instrumentNumber': '09P1263'}
self.ctdHeader = {'isHeader': '^[*#]',
'LATITUDE': 'NMEA\s+Latitude\s*[:=]\s*(\d+)\s+(\d+\.\d+)\s+(\w)', 'LATITUDE': 'NMEA\s+Latitude\s*[:=]\s*(\d+)\s+(\d+\.\d+)\s+(\w)',
'LONGITUDE': 'NMEA\s+Longitude\s*[:=]\s*(\d+)\s+(\d+.\d+)\s+(\w)', 'LONGITUDE': 'NMEA\s+Longitude\s*[:=]\s*(\d+)\s+(\d+.\d+)\s+(\w)',
'DATETIME': 'System UpLoad Time\s*=\s*(\w+)\s+(\d+)\s+(\d+)\s+(\d+):(\d+):(\d+)', 'DATETIME': 'System UpLoad Time\s*=\s*(\w+)\s+(\d+)\s+(\d+)\s+(\d+):(\d+):(\d+)',
'DATE': 'Date\s*:\s*(\d+)/(\d+)/(\d+)', 'DATE': 'Date\s*:\s*(\d+)/(\d+)/(\d+)',
'TIME': '[Heure|Hour]\s*:\s*(\d+)[:hH](\d+):(\d+)', 'TIME': '[Heure|Hour]\s*:\s*(\d+)[:hH](\d+):(\d+)',
'bottomDepth': 'Bottom Depth\\s*:\\s*(\\d*\\.?\\d+?)\\s*\\S*', 'operator': 'Operator\\s*:\\s*(.*)', 'bottomDepth': 'Bottom Depth\s*:\s*(\d*\.?\d+?)\s*\S*',
'type': 'Type\\s*:\\s*(.*)'} 'operator': 'Operator\s*:\s*(.*)',
} 'type': 'Type\s*:\s*(.*)'}
self.xbt = {'cruisePrefix': "fr29", 'stationPrefixLength': 3, 'acquisitionSoftware': "WinMK21", self.xbt = {'cruisePrefix': "fr29",
'acquisitionVersion': "2.10.1", 'processingSoftware': "", 'processingVersion': "", 'stationPrefixLength': 3,
'type': "SIPPICAN", 'sn': "01150", 'title_summary': "XBT profiles processed during PIRATA-FR29 cruise", 'typeInstrument': "SIPPICAN+",
'comment': "Extract from .edf files", 'instrumentNumber': "N/A",
'header': { 'endHeader': 'Depth\s*\(m\)', 'acquisitionSoftware': "WinMK21",
'acquisitionVersion': "2.10.1",
'processingSoftware': "", 'processingVersion': "",
'type': "SIPPICAN",
'sn': "01150",
'title_summary': "XBT profiles processed during PIRATA-FR29 cruise",
'comment': "Extract from .edf files"}
self.xbtHeader = {'endHeader': 'Depth\s*\(m\)',
'TIME': 'Time of Launch\s*[:=]\s*(\d+):(\d+):(\d+)', 'TIME': 'Time of Launch\s*[:=]\s*(\d+):(\d+):(\d+)',
'DATE': 'Date of Launch\s*[:=]\s*(\d+)/(\d+)/(\d+)', 'DATE': 'Date of Launch\s*[:=]\s*(\d+)/(\d+)/(\d+)',
'DATETIME': 'System UpLoad Time\s*=\s*(\w+)\s+(\d+)\s+(\d+)\s+(\d+):(\d+):(\d+)', 'DATETIME': 'System UpLoad Time\s*=\s*(\w+)\s+(\d+)\s+(\d+)\s+(\d+):(\d+):(\d+)',
'LATITUDE': 'Latitude\s*[:=]\s*(\d+)\s+(\d+\.\d+)(\w)', 'LATITUDE': 'Latitude\s*[:=]\s*(\d+)\s+(\d+\.\d+)(\w)',
'LONGITUDE': 'Longitude\s*[:=]\s*(\d+)\s+(\d+.\d+)(\w)'} 'LONGITUDE': 'Longitude\s*[:=]\s*(\d+)\s+(\d+.\d+)(\w)'}
}
self.splitCtd = {'ETDD': 2, 'PRES': 3, 'DEPTH': 4, 'TEMP': 5, 'PSAL': 18, self.splitCtd = {'ETDD': 1, 'PRES': 2, 'DEPTH': 3, 'TEMP': 4, 'PSAL': 17,
'DENS': 20, 'SVEL': 22, 'DOX2': 16, 'FLU2': 14, 'FLU3': 15, 'TUR3': 13, 'NAVG': 23} 'DENS': 19, 'SVEL': 21, 'DOX2': 15, 'FLU2': 13, 'FLU3': 14, 'TUR3': 12, 'NAVG': 23}
self.splitCtdAll = {'ETDD': 2, 'PRES': 3, 'DEPTH': 4, 'TE01': 5, 'TE02': 6, 'CND1': 7, 'CND2': 8, 'DOV1': 9, 'DOV2': 10, 'DVT1': 11, 'DVT2': 12, self.splitCtdAll = {'ETDD': 1, 'PRES': 2, 'DEPTH': 3, 'TE01': 4, 'TE02': 5, 'CND1': 6, 'CND2': 7, 'DOV1': 8, 'DOV2': 9, 'DVT1': 10, 'DVT2': 11,
'TUR3': 13, 'FLU2': 14, 'FLU3': 15, 'DO12': 16, 'DO22': 17, 'PSA1': 18, 'PSA2': 19, 'DEN1': 20, 'DEN2': 21, 'SVEL': 22, 'NAVG': 23} 'TUR3': 12, 'FLU2': 13, 'FLU3': 14, 'DO12': 15, 'DO22': 16, 'PSA1': 17, 'PSA2': 18, 'DEN1': 19, 'DEN2': 20, 'SVEL': 21, 'NAVG': 23}
self.splitBtl = {'BOTL': 1, 'month': 2, 'day': 3, 'year': 4, 'PSA1': 5, 'PSA2': 6, 'DO11': 7, self.splitBtl = {'BOTL': 1, 'month': 2, 'day': 3, 'year': 4, 'PSA1': 5, 'PSA2': 6, 'DO11': 7,
'DO12': 8, 'DO21': 9, 'DO22': 10, 'Potemp090C': 11, 'Potemp190C': 12, 'DO12': 8, 'DO21': 9, 'DO22': 10, 'Potemp090C': 11, 'Potemp190C': 12,
'ETDD': 13, 'PRES': 14, 'DEPH': 15, 'TE01': 16, 'TE02': 17, 'CND1': 18, 'CND2': 19, 'ETDD': 13, 'PRES': 14, 'DEPH': 15, 'TE01': 16, 'TE02': 17, 'CND1': 18, 'CND2': 19,
'DOV1': 20, 'DOV2': 21, 'DVT1': 22, 'DVT2': 23, 'TUR3': 24, 'FLU2': 25} 'DOV1': 20, 'DOV2': 21, 'DVT1': 22, 'DVT2': 23, 'TUR3': 24, 'FLU2': 25}
self.splitXbt = {'DEPTH': 0, 'TEMP': 1, 'SVEL': 2}
def test_global(self): def test_global(self):
''' test block [global]''' ''' test block [global]'''
...@@ -74,8 +96,17 @@ class testConfig(unittest.TestCase): ...@@ -74,8 +96,17 @@ class testConfig(unittest.TestCase):
''' test block [ctd]''' ''' test block [ctd]'''
d = self.cfg['ctd'] d = self.cfg['ctd']
for k in d.keys(): for k in d.keys():
# problem with nested table
if k == 'header':
break
self.assertEqual(d[k], self.ctd[k]) self.assertEqual(d[k], self.ctd[k])
def test_ctd_header(self):
''' test block [ctd.header]'''
d = self.cfg['ctd']['header']
for k in d.keys():
self.assertEqual(d[k], self.ctdHeader[k])
def test_split_ctd(self): def test_split_ctd(self):
""" Test if all value in block [split.ctd] are correct """ """ Test if all value in block [split.ctd] are correct """
d = self.cfg['split']['ctd'] d = self.cfg['split']['ctd']
...@@ -94,11 +125,26 @@ class testConfig(unittest.TestCase): ...@@ -94,11 +125,26 @@ class testConfig(unittest.TestCase):
for k in d.keys(): for k in d.keys():
self.assertEqual(d[k], self.splitBtl[k]) self.assertEqual(d[k], self.splitBtl[k])
def test_split_xbt(self): def test_xbt(self):
""" Test if all value in block [xbt] are correct """ """ Test if all value in block [xbt] are correct """
d = self.cfg['xbt'] d = self.cfg['xbt']
for k in d.keys(): for k in d.keys():
# problem with nested table
if k == 'header':
break
self.assertEqual(d[k], self.xbt[k]) self.assertEqual(d[k], self.xbt[k])
def test_xbt_header(self):
''' test block [xbt.header]'''
d = self.cfg['xbt']['header']
for k in d.keys():
self.assertEqual(d[k], self.xbtHeader[k])
def test_split_xbt(self):
""" Test if all value in block [split.xbt] are correct """
d = self.cfg['split']['xbt']
for k in d.keys():
self.assertEqual(d[k], self.splitXbt[k])
if __name__ == '__main__': if __name__ == '__main__':
unittest.main() unittest.main()
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment