|
3 | 3 | from pathlib import Path |
4 | 4 |
|
5 | 5 | import numpy as np |
6 | | -from scipy.io import loadmat |
7 | 6 |
|
8 | 7 | from kwave.data import Vector |
9 | 8 | from kwave.utils.mapgen import make_cart_sphere |
| 9 | +from tests.matlab_test_data_collectors.python_testers.utils.record_reader import TestRecordReader |
10 | 10 |
|
11 | 11 |
|
12 | 12 | def test_makeCartSphere(): |
13 | | - collected_values_folder = os.path.join(Path(__file__).parent, "collectedValues/makeCartSphere") |
14 | | - num_collected_values = len(os.listdir(collected_values_folder)) |
| 13 | + collected_values_file = os.path.join(Path(__file__).parent, "collectedValues/make_cart_sphere.mat") |
| 14 | + reader = TestRecordReader(collected_values_file) |
15 | 15 |
|
16 | | - for i in range(num_collected_values): |
| 16 | + for i in range(len(reader)): |
17 | 17 | logging.log(logging.INFO, i) |
18 | | - filepath = os.path.join(collected_values_folder, f"{i:06d}.mat") |
19 | | - recorded_data = loadmat(filepath, simplify_cells=True) |
20 | | - |
21 | | - radius, num_points, center = recorded_data["params"] |
| 18 | + params = reader.expected_value_of("params") |
| 19 | + radius = params[0] |
| 20 | + num_points = params[1] |
| 21 | + center = params[2] |
22 | 22 | center = Vector(center.astype(int)) |
23 | | - expected_value = recorded_data["sphere"] |
| 23 | + expected_value = reader.expected_value_of("cart_sphere") |
24 | 24 |
|
25 | | - sphere = make_cart_sphere(radius, num_points, center) |
| 25 | + # If there's a fourth parameter, pass it to make_cart_sphere as a boolean |
| 26 | + if len(params) > 3: |
| 27 | + plot_sphere = bool(params[3]) # Convert to boolean |
| 28 | + sphere = make_cart_sphere(radius, num_points, center, plot_sphere) |
| 29 | + else: |
| 30 | + sphere = make_cart_sphere(radius, num_points, center) |
26 | 31 |
|
27 | 32 | assert np.allclose(expected_value, sphere) |
| 33 | + reader.increment() |
28 | 34 |
|
29 | 35 | logging.log(logging.INFO, "makeCartSphere(..) works as expected!") |
| 36 | + |
| 37 | + if __name__ == "__main__": |
| 38 | + test_makeCartSphere() |
0 commit comments