diff --git a/src/gpu/VirtualFluids_GPU/KernelManager/GridScalingKernelManagerTest.cpp b/src/gpu/VirtualFluids_GPU/KernelManager/GridScalingKernelManagerTest.cpp index f497b8e3e15732c0c3c583749a75d37a79559051..b86e167ca8d2f95897b1a87d4b850acbfbe8a1b3 100644 --- a/src/gpu/VirtualFluids_GPU/KernelManager/GridScalingKernelManagerTest.cpp +++ b/src/gpu/VirtualFluids_GPU/KernelManager/GridScalingKernelManagerTest.cpp @@ -23,47 +23,45 @@ protected: } }; -TEST_F(GridScalingKernelManagerTest_Initialization, singleLevel) +TEST_F(GridScalingKernelManagerTest_Initialization, singleLevel_noScalingFactoryProvided_doesNotThrow) { // only one level --> no scaling factory needed --> no error para->initLBMSimulationParameter(); - para->getParD(0)->fineToCoarse.numberOfCells = 100; EXPECT_NO_THROW(GridScalingKernelManager(para, nullptr)); +} +TEST_F(GridScalingKernelManagerTest_Initialization, singleLevel_scalingFactoryProvided_doesNotThrow) +{ // only one level --> no scaling function needed --> no error para->initLBMSimulationParameter(); - para->getParD(0)->fineToCoarse.numberOfCells = 100; EXPECT_NO_THROW(GridScalingKernelManager(para, &scalingFactory)); +} +TEST_F(GridScalingKernelManagerTest_Initialization, singleLevel_scalingFactoryAndFunctionProvided_doesNotThrow) +{ // only one level, but the user provided a scaling function anyway --> no error para->initLBMSimulationParameter(); scalingFactory.setScalingFactory(GridScalingFactory::GridScaling::ScaleCompressible); EXPECT_NO_THROW(GridScalingKernelManager(para, &scalingFactory)); } -TEST_F(GridScalingKernelManagerTest_Initialization, multipleLevelNoScalingFunction) +TEST_F(GridScalingKernelManagerTest_Initialization, multipleLevels_notScalingFactoryProvided_throws) { - // multiple levels, but no interpolation nodes specified --> no scaling function needed --> no error - para->setMaxLevel(2); - para->initLBMSimulationParameter(); - EXPECT_NO_THROW(GridScalingKernelManager(para, &scalingFactory)); - - // multiple levels and interpolation nodes specified, but the user forgot to set the scalingFunction --> error + // multiple levels, but the user forgot the scaling factory --> error para->setMaxLevel(2); para->initLBMSimulationParameter(); - para->getParD(0)->fineToCoarse.numberOfCells = 100; - EXPECT_THROW(GridScalingKernelManager(para, &scalingFactory), std::runtime_error); + EXPECT_THROW(GridScalingKernelManager(para, nullptr), std::runtime_error); } -TEST_F(GridScalingKernelManagerTest_Initialization, multipleLevelNoScalingFactory) +TEST_F(GridScalingKernelManagerTest_Initialization, multipleLevelWithoutInterpolationNodes_noScalingFunctionProvided_doesNotThrow) { - // multiple levels, but the user forgot the scaling factory --> error + // multiple levels, but no interpolation nodes specified --> no scaling function needed --> no error para->setMaxLevel(2); para->initLBMSimulationParameter(); - EXPECT_THROW(GridScalingKernelManager(para, nullptr), std::runtime_error); + EXPECT_NO_THROW(GridScalingKernelManager(para, &scalingFactory)); } -TEST_F(GridScalingKernelManagerTest_Initialization, multipleLevelUnnecessaryScalingFunction) +TEST_F(GridScalingKernelManagerTest_Initialization, multipleLevelWithoutInterpolationNodes_scalingFunctionProvided_doesNotThrow) { // multiple levels and NO interpolation nodes specified, but the user provided a scaling function anyway --> no error para->setMaxLevel(2); @@ -72,3 +70,12 @@ TEST_F(GridScalingKernelManagerTest_Initialization, multipleLevelUnnecessaryScal EXPECT_NO_THROW(GridScalingKernelManager(para, &scalingFactory)); } +TEST_F(GridScalingKernelManagerTest_Initialization, multipleLevelWithInterpolationNodes_noScalingFunctionProvided_throws) +{ + // multiple levels and interpolation nodes specified, but the user forgot to set the scalingFunction --> error + para->setMaxLevel(2); + para->initLBMSimulationParameter(); + para->getParD(0)->fineToCoarse.numberOfCells = 100; + EXPECT_THROW(GridScalingKernelManager(para, &scalingFactory), std::runtime_error); +} +