|
30 | 30 |
|
31 | 31 | from os.path import abspath |
32 | 32 | from logging import WARNING |
| 33 | +from os.path import abspath |
| 34 | +from os import unlink |
33 | 35 | import numpy as np |
| 36 | +import tempfile |
| 37 | +import unittest |
34 | 38 | import h5py |
35 | 39 |
|
36 | 40 |
|
37 | 41 | class TestHDFLoader(unittest.TestCase): |
38 | 42 | """Testing class for modacor/io/hdf/hdf_loader.py""" |
39 | 43 |
|
40 | 44 | 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() |
45 | 55 |
|
46 | 56 |
|
47 | 57 | def tearDown(self): |
48 | 58 | self.test_h5_loader = None |
49 | 59 | self.test_file_path = None |
50 | 60 | self.test_dataset_name = None |
51 | 61 | self.test_dataset_shape = None |
| 62 | + unlink(self.temp_file_path) |
52 | 63 |
|
53 | 64 |
|
54 | 65 | 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) |
57 | 67 |
|
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]) |
61 | 71 |
|
62 | 72 |
|
63 | 73 | def test_close_file(self): |
64 | 74 | self.test_open_file() |
65 | | - self.test_h5_loader._close_file() |
| 75 | + self.test_hdf_loader._close_file() |
66 | 76 |
|
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