28 lines
706 B
C++
28 lines
706 B
C++
//
|
|
// Created by jholder on 22.10.21.
|
|
//
|
|
|
|
#include <catch2/catch.hpp>
|
|
|
|
#include "Simulation.h"
|
|
|
|
TEST_CASE("Simulation") {
|
|
auto sim = Simulation(1, 0);
|
|
REQUIRE(sim.getSTD() == sqrt(1 * 2.0));
|
|
SECTION("Symmetrie") {
|
|
constexpr int num = 10000000;
|
|
double sum = 0.0;
|
|
for (int i = 0; i < num; ++i) {
|
|
sum += sim.getNorm(1);
|
|
}
|
|
CHECK(sum / num == Catch::Detail::Approx(0.0).margin(0.001));
|
|
}
|
|
SECTION("STD") {
|
|
constexpr int num = 10000000;
|
|
double sum = 0.0;
|
|
for (int i = 0; i < num; ++i) {
|
|
sum += pow(sim.getNorm(1), 2);
|
|
}
|
|
CHECK(sum / num == Catch::Detail::Approx(1.0).margin(0.001));
|
|
}
|
|
} |