1 #include <gtest/gtest.h>
2 #include <gmock/gmock.h>
3 using namespace ::testing;
7 #define PFASST_UNIT_TESTING
8 #include "../examples/boris/boris_sweeper.hpp"
9 #include "../examples/boris/boris_sdc.cpp"
10 #undef PFASST_UNIT_TESTING
14 TEST(EnergyDriftAndResidual, SingleStep)
16 const size_t num_iter = 9;
17 auto errors_map = run_boris_sdc<double>(1, 0.015625, 5, 1, num_iter+1, 0.0, 0.0);
18 ASSERT_THAT(errors_map, SizeIs(num_iter+1));
20 auto final_error = errors_map.rbegin()->second;
22 EXPECT_THAT(final_error.e_drift, DoubleNear(0.0, 2e-12));
23 EXPECT_THAT(final_error.res, DoubleNear(0.0, 1.5e-14));
26 TEST(EnergyDriftAndResidual, MultiStep)
28 const size_t num_iter = 9;
29 const size_t num_steps = 10;
30 auto errors_map = run_boris_sdc<double>(num_steps, 0.015625, 5, 1, num_iter+1, 0.0, 0.0);
31 ASSERT_THAT(errors_map, SizeIs((num_iter+1) * num_steps));
33 auto final_error = errors_map.rbegin()->second;
35 EXPECT_THAT(final_error.e_drift, DoubleNear(0.0, 1.1e-11));
36 EXPECT_THAT(final_error.res, DoubleNear(0.0, 1.5e-14));
40 int main(
int argc,
char** argv)
42 testing::InitGoogleTest(&argc, argv);
44 return RUN_ALL_TESTS();
static void start_log(int argc, char **argv)
Starts easylogging++ with given arguments and loads configuration.
TEST(EnergyDriftAndResidual, SingleStep)
int main(int argc, char **argv)