xref: /llvm-project/clang-tools-extra/clangd/unittests/DecisionForestTests.cpp (revision 985deba9319be464673c1002767f8a3ec597480d)
1*985deba9SUtkarsh Saxena #include "DecisionForestRuntimeTest.h"
2*985deba9SUtkarsh Saxena #include "decision_forest_model/CategoricalFeature.h"
3*985deba9SUtkarsh Saxena #include "gtest/gtest.h"
4*985deba9SUtkarsh Saxena 
5*985deba9SUtkarsh Saxena namespace clang {
6*985deba9SUtkarsh Saxena namespace clangd {
7*985deba9SUtkarsh Saxena 
TEST(DecisionForestRuntime,Evaluate)8*985deba9SUtkarsh Saxena TEST(DecisionForestRuntime, Evaluate) {
9*985deba9SUtkarsh Saxena   using Example = ::ns1::ns2::test::Example;
10*985deba9SUtkarsh Saxena   using Cat = ::ns1::ns2::TestEnum;
11*985deba9SUtkarsh Saxena   using ::ns1::ns2::test::Evaluate;
12*985deba9SUtkarsh Saxena 
13*985deba9SUtkarsh Saxena   Example E;
14*985deba9SUtkarsh Saxena   E.setANumber(200);         // True
15*985deba9SUtkarsh Saxena   E.setAFloat(0);            // True: +10.0
16*985deba9SUtkarsh Saxena   E.setACategorical(Cat::A); // True: +5.0
17*985deba9SUtkarsh Saxena   EXPECT_EQ(Evaluate(E), 15.0);
18*985deba9SUtkarsh Saxena 
19*985deba9SUtkarsh Saxena   E.setANumber(200);         // True
20*985deba9SUtkarsh Saxena   E.setAFloat(-2.5);         // False: -20.0
21*985deba9SUtkarsh Saxena   E.setACategorical(Cat::B); // True: +5.0
22*985deba9SUtkarsh Saxena   EXPECT_EQ(Evaluate(E), -15.0);
23*985deba9SUtkarsh Saxena 
24*985deba9SUtkarsh Saxena   E.setANumber(100);         // False
25*985deba9SUtkarsh Saxena   E.setACategorical(Cat::C); // True: +3.0, False: -6.0
26*985deba9SUtkarsh Saxena   EXPECT_EQ(Evaluate(E), -3.0);
27*985deba9SUtkarsh Saxena }
28*985deba9SUtkarsh Saxena } // namespace clangd
29*985deba9SUtkarsh Saxena } // namespace clang
30