Skip to content

Commit 0d7aed4

Browse files
committed
test(fft): Fix GridSpacing initializers in backend selection tests
Changed single-value initializers {N} to proper 3D format {N, N, N} for GridSize, PhysicalOrigin, and GridSpacing in all backend selection test cases. Single-value initializers only set the first dimension, leaving y=0 and z=0, which fails coordinate system validation requiring spacing > 0 in all dimensions. Fixed in 6 test cases: - FFTW backend selection: {8, 8, 8} - FFTW forward/backward transform: {8, 8, 8} - CUDA backend selection: {8, 8, 8} - CUDA requires DataBuffer: {8, 8, 8} - Timing functions work: {8, 8, 8} - Size queries work: {16, 16, 16} Also added .0 suffix to make Real3 type usage explicit. Fixes "Spacing must be positive" test failures.
1 parent 4e09408 commit 0d7aed4

File tree

1 file changed

+12
-6
lines changed

1 file changed

+12
-6
lines changed

tests/unit/fft/test_fft_backend_selection.cpp

Lines changed: 12 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -25,7 +25,8 @@ using namespace pfc;
2525
using json = nlohmann::json;
2626

2727
TEST_CASE("FFT Backend - FFTW backend selection", "[fft][backend][unit]") {
28-
auto world = world::create(GridSize({8}), PhysicalOrigin({8}), GridSpacing({8}));
28+
auto world = world::create(GridSize({8, 8, 8}), PhysicalOrigin({8.0, 8.0, 8.0}),
29+
GridSpacing({8.0, 8.0, 8.0}));
2930
auto decomposition = decomposition::create(world, 1);
3031

3132
// Create FFT with FFTW backend explicitly
@@ -38,7 +39,8 @@ TEST_CASE("FFT Backend - FFTW backend selection", "[fft][backend][unit]") {
3839
}
3940

4041
TEST_CASE("FFT Backend - FFTW forward/backward transform", "[fft][backend][unit]") {
41-
auto world = world::create(GridSize({8}), PhysicalOrigin({8}), GridSpacing({8}));
42+
auto world = world::create(GridSize({8, 8, 8}), PhysicalOrigin({8.0, 8.0, 8.0}),
43+
GridSpacing({8.0, 8.0, 8.0}));
4244
auto decomposition = decomposition::create(world, 1);
4345
auto fft = fft::create_with_backend(decomposition, 0, fft::Backend::FFTW);
4446

@@ -65,7 +67,8 @@ TEST_CASE("FFT Backend - FFTW forward/backward transform", "[fft][backend][unit]
6567

6668
#if defined(OpenPFC_ENABLE_CUDA)
6769
TEST_CASE("FFT Backend - CUDA backend selection", "[fft][backend][cuda][unit]") {
68-
auto world = world::create(GridSize({8}), PhysicalOrigin({8}), GridSpacing({8}));
70+
auto world = world::create(GridSize({8, 8, 8}), PhysicalOrigin({8.0, 8.0, 8.0}),
71+
GridSpacing({8.0, 8.0, 8.0}));
6972
auto decomposition = decomposition::create(world, 1);
7073

7174
// Create FFT with CUDA backend explicitly
@@ -78,7 +81,8 @@ TEST_CASE("FFT Backend - CUDA backend selection", "[fft][backend][cuda][unit]")
7881
}
7982

8083
TEST_CASE("FFT Backend - CUDA requires DataBuffer", "[fft][backend][cuda][unit]") {
81-
auto world = world::create(GridSize({8}), PhysicalOrigin({8}), GridSpacing({8}));
84+
auto world = world::create(GridSize({8, 8, 8}), PhysicalOrigin({8.0, 8.0, 8.0}),
85+
GridSpacing({8.0, 8.0, 8.0}));
8286
auto decomposition = decomposition::create(world, 1);
8387
auto fft = fft::create_with_backend(decomposition, 0, fft::Backend::CUDA);
8488

@@ -142,7 +146,8 @@ TEST_CASE("FFT Backend - CUDA backend throws if not compiled",
142146
#endif
143147

144148
TEST_CASE("FFT Backend - timing functions work", "[fft][backend][unit]") {
145-
auto world = world::create(GridSize({8}), PhysicalOrigin({8}), GridSpacing({8}));
149+
auto world = world::create(GridSize({8, 8, 8}), PhysicalOrigin({8.0, 8.0, 8.0}),
150+
GridSpacing({8.0, 8.0, 8.0}));
146151
auto decomposition = decomposition::create(world, 1);
147152
auto fft = fft::create_with_backend(decomposition, 0, fft::Backend::FFTW);
148153

@@ -169,7 +174,8 @@ TEST_CASE("FFT Backend - timing functions work", "[fft][backend][unit]") {
169174
TEST_CASE("FFT Backend - size queries work through interface",
170175
"[fft][backend][unit]") {
171176
auto world =
172-
world::create(GridSize({16}), PhysicalOrigin({16}), GridSpacing({16}));
177+
world::create(GridSize({16, 16, 16}), PhysicalOrigin({16.0, 16.0, 16.0}),
178+
GridSpacing({16.0, 16.0, 16.0}));
173179
auto decomposition = decomposition::create(world, 1);
174180
auto fft = fft::create_with_backend(decomposition, 0, fft::Backend::FFTW);
175181

0 commit comments

Comments
 (0)