From 2de3fcbf518c7e9ad0e876eb62788edbbd406edd Mon Sep 17 00:00:00 2001 From: kienle <kienle@passcal.nmt.edu> Date: Mon, 26 Sep 2022 09:35:08 -0600 Subject: [PATCH] Add tests for readText --- tests/test_model/test_handling_data.py | 44 ++++++++++++++++++++++++-- 1 file changed, 41 insertions(+), 3 deletions(-) diff --git a/tests/test_model/test_handling_data.py b/tests/test_model/test_handling_data.py index 7ddd5b062..2efec2403 100644 --- a/tests/test_model/test_handling_data.py +++ b/tests/test_model/test_handling_data.py @@ -17,6 +17,7 @@ from sohstationviewer.model.handling_data import ( readWaveformMSeed, readWaveformReftek, readASCII, + readText, ) from sohstationviewer.model.reftek.from_rt2ms.core import Reftek130 @@ -322,8 +323,7 @@ class TestReadWaveformReftek(TestCase): def test_read_data_existing_channel_appended_to(self): self.read_data = { 'DS1-1': - {'tracesInfo': - [{'startTmEpoch': 0, 'endTmEpoch': 0}], + {'tracesInfo': [{'startTmEpoch': 0, 'endTmEpoch': 0}], 'samplerate': 40.0} } readWaveformReftek(self.rt130_waveform, self.key, self.read_data, @@ -421,7 +421,8 @@ class TestReadASCII(TestCase): ) def test_trace_does_not_contain_log_data(self): - raise NotImplementedError(self.test_trace_does_not_contain_log_data.__qualname__) # noqa + raise NotImplementedError( + self.test_trace_does_not_contain_log_data.__qualname__) # We are only reassigning the data reference of the trace and are not # modifying the stored data. As a result, we only need a shallow copy # of the trace. @@ -441,3 +442,40 @@ class TestReadASCII(TestCase): self.assertEqual(log_string, self.log_data[self.station_id][self.channel_id][0]) + +class TestReadText(TestCase): + def setUp(self): + self.text_file = tempfile.NamedTemporaryFile(mode='w+t') + self.text_file.write('Test text') + self.text_file.flush() + self.text_file_name = Path(self.text_file.name).name + self.non_text_file = TEST_DATA_DIR.joinpath('Q330-sample/' + 'day_vols_AX08/' + 'AX08.XA..HHE.2021.186') + self.text_logs = [] + + def tearDown(self) -> None: + self.text_file.close() + + def test_log_appended_to(self): + readText(self.text_file.name, self.text_file.name, self.text_logs) + self.assertGreater(len(self.text_logs), 0) + + def test_text_file(self): + readText(self.text_file.name, Path(self.text_file.name).name, + self.text_logs) + self.assertEqual( + self.text_logs[0], + f'\n\n** STATE OF HEALTH: {Path(self.text_file.name).name}\nTest text') # noqa: E501 + + def test_non_text_file(self): + with self.assertRaises(Exception): + readText(self.non_text_file, self.non_text_file.name, + self.text_logs) + + def test_non_existent_file(self): + non_existent_file = TEST_DATA_DIR.joinpath('non_existent_file') + with self.assertRaises(FileNotFoundError): + readText(str(non_existent_file), + non_existent_file.name, + self.text_logs) \ No newline at end of file -- GitLab