Skip to content

Commit d17e05d

Browse files
committed
HDF Loader Tests Now Passing
1 parent 7f088ed commit d17e05d

File tree

2 files changed

+31
-21
lines changed

2 files changed

+31
-21
lines changed

src/modacor/io/hdf/hdf_loader.py

Lines changed: 7 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -37,10 +37,10 @@
3737
import h5py
3838

3939

40-
class HDFLoader(IoSources):
41-
def __init__(self, source_reference: str, source: IoSource, logging_level = WARNING):
42-
super().__init__(source_reference, source)
43-
self.hdf_logger = MessageHandler('hdf5logger', logging_level)
40+
class HDFLoader(IoSource):
41+
def __init__(self, source_reference: str, logging_level = WARNING):
42+
super().__init__(source_reference)
43+
self.hdf_logger = MessageHandler(level = logging_level, name = 'hdf5logger')
4444
self._file_path = None
4545
self._file_reference = None
4646
self._file_datasets = []
@@ -58,13 +58,13 @@ def _open_file(self, file_path = None):
5858
self._file_path = abspath(file_path)
5959
self._file_reference.visititems(self._find_datasets)
6060
except OSError as error:
61-
self.hdf_logger.log.error(error)
62-
raise OSError(error)
61+
self.hdf_logger.logger.error(error)
62+
raise OSError(error)
6363

6464

6565
def _close_file(self):
6666
try:
67-
self.file_reference.close()
67+
self._file_reference.close()
6868
self._file_path = None
6969
self._file_reference = None
7070
self._file_datasets.clear()

src/modacor/tests/io/hdf/test_hdf_loader.py

Lines changed: 24 additions & 14 deletions
Original file line numberDiff line numberDiff line change
@@ -30,41 +30,51 @@
3030

3131
from os.path import abspath
3232
from logging import WARNING
33+
from os.path import abspath
34+
from os import unlink
3335
import numpy as np
36+
import tempfile
37+
import unittest
3438
import h5py
3539

3640

3741
class TestHDFLoader(unittest.TestCase):
3842
"""Testing class for modacor/io/hdf/hdf_loader.py"""
3943

4044
def setUp(self):
41-
self.test_hdf_loader = HDFLoader()
42-
self.test_file_path = "tbd - some form of temp file"
43-
self.test_dataset_name = "dataset"
44-
self.test_dataset_shape = (10, 2)
45+
self.test_hdf_loader = HDFLoader(source_reference = 'Test Data')
46+
self.temp_file_handle = tempfile.NamedTemporaryFile(delete=False, delete_on_close=False)
47+
# self.temp_file = self.temp_file_handle.file
48+
self.temp_file_path = self.temp_file_handle.name
49+
self.temp_file_handle.close()
50+
self.temp_dataset_name = "dataset"
51+
self.temp_dataset_shape = (10, 2)
52+
self.temp_hdf_file = h5py.File(self.temp_file_path, 'w')
53+
self.temp_hdf_file[self.temp_dataset_name] = np.zeros(self.temp_dataset_shape)
54+
self.temp_file_handle.close()
4555

4656

4757
def tearDown(self):
4858
self.test_h5_loader = None
4959
self.test_file_path = None
5060
self.test_dataset_name = None
5161
self.test_dataset_shape = None
62+
unlink(self.temp_file_path)
5263

5364

5465
def test_open_file(self):
55-
absolute_test_file_path = abspath(self.test_file_path)
56-
self.test_h5_loader._open_file(self.test_file_path)
66+
self.test_hdf_loader._open_file(self.temp_file_path)
5767

58-
self.assertEqual(absolute_test_file_path, self.test_h5_loader._file_path)
59-
self.assertEqual(self.test_dataset_name, self.test_h5_loader._file_datasets[0])
60-
self.assertEqual(self.test_dataset_shape, self.test_h5_loader._file_datasets_shapes[self.test_dataset_name])
68+
self.assertEqual(self.temp_file_path, self.test_hdf_loader._file_path)
69+
self.assertEqual(self.temp_dataset_name, self.test_hdf_loader._file_datasets[0])
70+
self.assertEqual(self.temp_dataset_shape, self.test_hdf_loader._file_datasets_shapes[self.temp_dataset_name])
6171

6272

6373
def test_close_file(self):
6474
self.test_open_file()
65-
self.test_h5_loader._close_file()
75+
self.test_hdf_loader._close_file()
6676

67-
self.assertEqual(None, self.test_h5_loader._file_path)
68-
self.assertEqual(None, self.test_h5_loader._file_reference)
69-
self.assertEqual([], self.test_h5_loader._file_datasets)
70-
self.assertEqual({}, self.test_h5_loader._file_datasets_shapes)
77+
self.assertEqual(None, self.test_hdf_loader._file_path)
78+
self.assertEqual(None, self.test_hdf_loader._file_reference)
79+
self.assertEqual([], self.test_hdf_loader._file_datasets)
80+
self.assertEqual({}, self.test_hdf_loader._file_datasets_shapes)

0 commit comments

Comments
 (0)