aboutsummaryrefslogtreecommitdiff
path: root/clang-tools-extra/clangd/unittests/DecisionForestTests.cpp
blob: d29c8a4a0358f2aeb2f95fad887d88d89483a659 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
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