summaryrefslogtreecommitdiff
path: root/clang-tools-extra/clangd/unittests/DecisionForestTests.cpp
diff options
context:
space:
mode:
Diffstat (limited to 'clang-tools-extra/clangd/unittests/DecisionForestTests.cpp')
-rw-r--r--clang-tools-extra/clangd/unittests/DecisionForestTests.cpp29
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