Skip to content
Snippets Groups Projects
Commit 370e160f authored by Anna Wellmann's avatar Anna Wellmann
Browse files

Refactor the new tests

parent 16c83ab9
No related branches found
No related tags found
1 merge request!181Viscosity check
#ifndef TESTUTILITIES_H
#define TESTUTILITIES_H
#include <gmock/gmock.h>
inline auto RealEq = [](auto value) {
#ifdef VF_DOUBLE_ACCURACY
return testing::DoubleEq(value);
......
#include <gmock/gmock.h>
#include "basics/tests/testUtilities.h"
#include <gmock/gmock.h>
#include <filesystem>
#include <gtest/gtest.h>
#include <iostream>
#include <string>
#include "Parameter.h"
#include "basics/config/ConfigurationFile.h"
TEST(ParameterTest, passingEmptyFileWithoutPath_ShouldNotThrow)
{
// assuming that the config files is stored parallel to this file.
......@@ -37,7 +37,9 @@ TEST(ParameterTest, check_all_Parameter_CanBePassedToConstructor)
// test optional parameter
EXPECT_THAT(para.getOutputPath(), testing::Eq("/output/path/"));
EXPECT_THAT(para.getGridPath(), testing::Eq("/path/to/grid/")); // ... all grid files (e.g. multi-gpu/ multi-level) could be tested as well
EXPECT_THAT(
para.getGridPath(),
testing::Eq("/path/to/grid/")); // ... all grid files (e.g. multi-gpu/ multi-level) could be tested as well
EXPECT_THAT(para.getgeoVec(), testing::Eq("/path/to/grid/geoVec.dat"));
EXPECT_THAT(para.getMaxDev(), testing::Eq(2));
EXPECT_THAT(para.getDevices(), testing::ElementsAreArray({ 2, 3 }));
......@@ -163,7 +165,7 @@ TEST(ParameterTest, setGridPathOverridesDefaultGridPath)
Parameter para(2, 1);
para.setGridPath("gridPathTest");
EXPECT_THAT( para.getGridPath(), testing::Eq("gridPathTest/1/"));
EXPECT_THAT(para.getGridPath(), testing::Eq("gridPathTest/1/"));
EXPECT_THAT(para.getConcentration(), testing::Eq("gridPathTest/1/conc.dat"));
}
......@@ -177,9 +179,8 @@ TEST(ParameterTest, setGridPathOverridesConfigFile)
auto para = Parameter(2, 0, &config);
para.setGridPath("gridPathTest");
EXPECT_THAT( para.getGridPath(), testing::Eq("gridPathTest/0/"));
EXPECT_THAT(para.getGridPath(), testing::Eq("gridPathTest/0/"));
EXPECT_THAT(para.getConcentration(), testing::Eq("gridPathTest/0/conc.dat"));
}
TEST(ParameterTest, userMissedSlash)
......@@ -189,7 +190,6 @@ TEST(ParameterTest, userMissedSlash)
EXPECT_THAT(para.getGridPath(), testing::Eq("gridPathTest/"));
EXPECT_THAT(para.getConcentration(), testing::Eq("gridPathTest/conc.dat"));
}
TEST(ParameterTest, userMissedSlashMultiGPU)
......@@ -201,87 +201,85 @@ TEST(ParameterTest, userMissedSlashMultiGPU)
EXPECT_THAT(para.getConcentration(), testing::Eq("gridPathTest/0/conc.dat"));
}
TEST(ParameterTest, CumulantK17_VelocityIsTooHigh_expectWarning)
class ParameterTestCumulatnK17 : public testing::Test
{
testing::internal::CaptureStdout();
protected:
void SetUp() override
{
}
bool stdoutContainsWarning()
{
std::string output = testing::internal::GetCapturedStdout();
return output.find("warning") != std::string::npos;
}
Parameter para;
};
TEST_F(ParameterTestCumulatnK17, CumulantK17_VelocityIsTooHigh_expectWarning)
{
para.setVelocityLB(0.11);
para.setMainKernel("CumulantK17");
testing::internal::CaptureStdout();
para.initLBMSimulationParameter();
std::string output = testing::internal::GetCapturedStdout();
EXPECT_FALSE(output.find("warning") == std::string::npos);
EXPECT_TRUE(stdoutContainsWarning());
}
TEST(ParameterTest, CumulantK17_VelocityIsOk_expectNoWarning)
TEST_F(ParameterTestCumulatnK17, CumulantK17_VelocityIsOk_expectNoWarning)
{
testing::internal::CaptureStdout();
Parameter para;
para.setVelocityLB(0.09);
para.setMainKernel("CumulantK17");
testing::internal::CaptureStdout();
para.initLBMSimulationParameter();
std::string output = testing::internal::GetCapturedStdout();
EXPECT_TRUE(output.find("warning") == std::string::npos);
EXPECT_FALSE(stdoutContainsWarning());
}
TEST(ParameterTest, NotCumulantK17_VelocityIsTooHigh_expectNoWarning)
TEST_F(ParameterTestCumulatnK17, NotCumulantK17_VelocityIsTooHigh_expectNoWarning)
{
testing::internal::CaptureStdout();
Parameter para;
para.setVelocityLB(42);
para.setMainKernel("K");
testing::internal::CaptureStdout();
para.initLBMSimulationParameter();
std::string output = testing::internal::GetCapturedStdout();
EXPECT_TRUE(output.find("warning") == std::string::npos);
EXPECT_FALSE(stdoutContainsWarning());
}
TEST(ParameterTest, CumulantK17_ViscosityIsTooHigh_expectWarning)
TEST_F(ParameterTestCumulatnK17, CumulantK17_ViscosityIsTooHigh_expectWarning)
{
testing::internal::CaptureStdout();
Parameter para;
para.setViscosityLB(0.024);
para.setMainKernel("CumulantK17");
testing::internal::CaptureStdout();
para.initLBMSimulationParameter();
std::string output = testing::internal::GetCapturedStdout();
EXPECT_FALSE(output.find("warning") == std::string::npos);
EXPECT_TRUE(stdoutContainsWarning());
}
TEST(ParameterTest, CumulantK17_ViscosityIsOk_expectNoWarning)
TEST_F(ParameterTestCumulatnK17, CumulantK17_ViscosityIsOk_expectNoWarning)
{
testing::internal::CaptureStdout();
Parameter para;
para.setViscosityLB(0.023);
para.setMainKernel("CumulantK17");
testing::internal::CaptureStdout();
para.initLBMSimulationParameter();
std::string output = testing::internal::GetCapturedStdout();
EXPECT_TRUE(output.find("warning") == std::string::npos);
EXPECT_FALSE(stdoutContainsWarning());
}
TEST(ParameterTest, NotCumulantK17_ViscosityIsTooHigh_expectNoWarning)
TEST_F(ParameterTestCumulatnK17, NotCumulantK17_ViscosityIsTooHigh_expectNoWarning)
{
testing::internal::CaptureStdout();
Parameter para;
para.setViscosityLB(10);
para.setMainKernel("K");
testing::internal::CaptureStdout();
para.initLBMSimulationParameter();
std::string output = testing::internal::GetCapturedStdout();
EXPECT_TRUE(output.find("warning") == std::string::npos);
EXPECT_FALSE(stdoutContainsWarning());
}
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment