#define CATCH_CONFIG_MAIN // This tells Catch to provide a main() - only do this in one // cpp file #include <catch2/catch.hpp> #include <corsika/random/RNGManager.h> #include <iostream> using namespace corsika::random; SCENARIO("random-number streams can be registered and retrieved") { GIVEN("a RNGManager") { RNGManager rngManager; WHEN("a sequence is registered by name") { rngManager.RegisterRandomStream("stream_A"); THEN("the sequence can be retrieved") { REQUIRE_NOTHROW(rngManager.GetRandomStream("stream_A")); } THEN("an unknown sequence cannot be retrieved") { REQUIRE_THROWS(rngManager.GetRandomStream("stream_UNKNOWN")); } // seeding not covered yet } } }