diff options
Diffstat (limited to 'clang-tools-extra/clangd/unittests/DecisionForestTests.cpp')
-rw-r--r-- | clang-tools-extra/clangd/unittests/DecisionForestTests.cpp | 29 |
1 files changed, 29 insertions, 0 deletions
diff --git a/clang-tools-extra/clangd/unittests/DecisionForestTests.cpp b/clang-tools-extra/clangd/unittests/DecisionForestTests.cpp new file mode 100644 index 000000000000..d29c8a4a0358 --- /dev/null +++ b/clang-tools-extra/clangd/unittests/DecisionForestTests.cpp @@ -0,0 +1,29 @@ +#include "DecisionForestRuntimeTest.h" +#include "decision_forest_model/CategoricalFeature.h" +#include "gtest/gtest.h" + +namespace clang { +namespace clangd { + +TEST(DecisionForestRuntime, Evaluate) { + using Example = ::ns1::ns2::test::Example; + using Cat = ::ns1::ns2::TestEnum; + using ::ns1::ns2::test::Evaluate; + + Example E; + E.setANumber(200); // True + E.setAFloat(0); // True: +10.0 + E.setACategorical(Cat::A); // True: +5.0 + EXPECT_EQ(Evaluate(E), 15.0); + + E.setANumber(200); // True + E.setAFloat(-2.5); // False: -20.0 + E.setACategorical(Cat::B); // True: +5.0 + EXPECT_EQ(Evaluate(E), -15.0); + + E.setANumber(100); // False + E.setACategorical(Cat::C); // True: +3.0, False: -6.0 + EXPECT_EQ(Evaluate(E), -3.0); +} +} // namespace clangd +} // namespace clang |