diff --git a/.gitignore b/.gitignore new file mode 100644 index 0000000000000000000000000000000000000000..c65a73ec92a3aacf13019014429f712fa6427511 --- /dev/null +++ b/.gitignore @@ -0,0 +1,6 @@ +# CMake directories +cmake-build-debug/ +tests/cmake-build-debug/ + +# GoogleTest directories +tests/googletest-subbuild/ diff --git a/tests/CMakeLists.txt b/tests/CMakeLists.txt new file mode 100644 index 0000000000000000000000000000000000000000..a238623fbf6f4db52591c8872918b881594b8918 --- /dev/null +++ b/tests/CMakeLists.txt @@ -0,0 +1,38 @@ +cmake_minimum_required(VERSION 3.22) +project(evalhyd_tests) + +set(CMAKE_CXX_STANDARD 14) + +# GOOGLETEST CONFIG ------------------------------------------------------------ +include(FetchContent) +FetchContent_Declare( + googletest + URL https://github.com/google/googletest/archive/e2239ee6043f73722e7aa812a459f54a28552929.zip +) +# For Windows: Prevent overriding the parent project's compiler/linker settings +set(gtest_force_shared_crt ON CACHE BOOL "" FORCE) +FetchContent_MakeAvailable(googletest) + +# EVALHYD CONFIG --------------------------------------------------------------- +include_directories("../deps/xtl/include") +include_directories("../deps/xtensor/include") + +include_directories(../include) + +# TEST SUITE ------------------------------------------------------------------- +include_directories(data) + +add_executable( + evalhyd_tests + test_determinist.cpp + ../include/evalhyd/utils.hpp + ../include/evalhyd/determinist.hpp + ../include/evalhyd/deterministic/evaluator.hpp + test_probabilist.cpp + ../include/evalhyd/probabilist.hpp + ../include/evalhyd/probabilistic/evaluator.h + ../include/evalhyd/probabilistic/evaluator_brier.cpp + ../include/evalhyd/probabilistic/evaluator_elements.cpp + ../include/evalhyd/probabilistic/evaluator_utils.cpp +) +target_link_libraries(evalhyd_tests gtest gtest_main) diff --git a/tests/test_determinist.cpp b/tests/test_determinist.cpp index 81e1ef3781fa42d1ddf4f1f8ba770164f2762830..d4296313f4379ca422a8e9852f0aa6c5ea313b70 100644 --- a/tests/test_determinist.cpp +++ b/tests/test_determinist.cpp @@ -9,16 +9,16 @@ #include "evalhyd/determinist.hpp" -TEST(EvalHydDeterministTests, TestNSE) { +TEST(DeterministTests, TestNSE) { // read in data std::ifstream ifs; - ifs.open("./evalhyd/tests/data/q_obs.csv"); + ifs.open("./data/q_obs.csv"); xt::xtensor<double, 2> observed_2d = xt::transpose(xt::load_csv<int>(ifs)); ifs.close(); xt::xtensor<double, 1> observed_1d = xt::squeeze(observed_2d); - ifs.open("./evalhyd/tests/data/q_frc.csv"); + ifs.open("./data/q_frc.csv"); xt::xtensor<double, 2> forecast_2d = xt::view( xt::transpose(xt::load_csv<double>(ifs)), xt::range(0, 5), xt::all() ); @@ -44,5 +44,4 @@ TEST(EvalHydDeterministTests, TestNSE) { xt::xtensor<double, 1> nse_1d = {0.71891219}; EXPECT_TRUE(xt::allclose(metrics_1d[0], nse_1d)); - } diff --git a/tests/test_probabilist.cpp b/tests/test_probabilist.cpp index 4d39d258c07e90ce28a80a9582ac06e73f03605b..67870f41acdbcac69264d3c47ef1c3a52574cfbf 100644 --- a/tests/test_probabilist.cpp +++ b/tests/test_probabilist.cpp @@ -8,14 +8,14 @@ #include "evalhyd/probabilist.hpp" -TEST(EvalHydProbabilistTests, TestBrier) { +TEST(ProbabilistTests, TestBrier) { // read in data std::ifstream ifs; - ifs.open("./evalhyd/tests/data/q_obs.csv"); + ifs.open("./data/q_obs.csv"); xt::xtensor<double, 2> observed = xt::load_csv<int>(ifs); ifs.close(); - ifs.open("./evalhyd/tests/data/q_frc.csv"); + ifs.open("./data/q_frc.csv"); xt::xtensor<double, 2> forecast = xt::load_csv<double>(ifs); ifs.close();