CoolProp 8.0.0
An open-source fluid property and humid air property database
Tests.cpp
Go to the documentation of this file.
1
7#include "Tests.h"
8#include <ctime>
9#include <iostream>
10
11#if defined ENABLE_CATCH
12# include <catch2/catch_all.hpp>
13
14static Catch::Session session; // There must be exactly one instance
15
16#endif // ENABLE_CATCH
17
19#ifdef ENABLE_CATCH
20 Catch::ConfigData& config = session.configData();
21 config.testsOrTags.clear();
22 config.testsOrTags.emplace_back("[fast]");
23 session.useConfigData(config);
24 return session.run();
25#else
26 return 0;
27#endif
28}
29
31#ifdef ENABLE_CATCH
32 Catch::ConfigData& config = session.configData();
33 config.testsOrTags.clear();
34 config.testsOrTags.emplace_back("~[slow]");
35 session.useConfigData(config);
36
37 time_t t1, t2;
38 t1 = clock();
39 session.run();
40 t2 = clock();
41 std::cout << "Elapsed time for not slow tests: " << ((double)(t2 - t1) / CLOCKS_PER_SEC) << " s";
42
43 return 1;
44#else
45 return 0;
46#endif
47}
48
49int run_user_defined_tests(const std::vector<std::string>& tests_or_tags) {
50#ifdef ENABLE_CATCH
51 Catch::ConfigData& config = session.configData();
52 config.testsOrTags.clear();
53 for (const auto& tests_or_tag : tests_or_tags) {
54 config.testsOrTags.push_back(tests_or_tag);
55 }
56 session.useConfigData(config);
57
58 time_t t1, t2;
59 t1 = clock();
60 session.run();
61 t2 = clock();
62 std::cout << "Elapsed time for user defined tests: " << ((double)(t2 - t1) / CLOCKS_PER_SEC) << " s";
63
64 return 1;
65#else
66 return 0;
67#endif
68}
69
70void run_tests() {
71#ifdef ENABLE_CATCH
72 Catch::ConfigData& config = session.configData();
73 config.testsOrTags.clear();
74 //config.shouldDebugBreak = true;
75 session.useConfigData(config);
76 session.run();
77#endif
78}