MCPcopy Create free account
hub / github.com/cel-expr/cel-cpp / TEST

Function TEST

runtime/standard/arithmetic_functions_test.cc:42–80  ·  view source on GitHub ↗

Source from the content-addressed store, hash-verified

40}
41
42TEST(RegisterArithmeticFunctions, Registered) {
43 FunctionRegistry registry;
44 RuntimeOptions options;
45
46 ASSERT_OK(RegisterArithmeticFunctions(registry, options));
47
48 EXPECT_THAT(registry.FindStaticOverloads(builtin::kAdd, false,
49 {Kind::kAny, Kind::kAny}),
50 UnorderedElementsAre(
51 MatchesOperatorDescriptor(builtin::kAdd, Kind::kInt),
52 MatchesOperatorDescriptor(builtin::kAdd, Kind::kDouble),
53 MatchesOperatorDescriptor(builtin::kAdd, Kind::kUint)));
54 EXPECT_THAT(registry.FindStaticOverloads(builtin::kSubtract, false,
55 {Kind::kAny, Kind::kAny}),
56 UnorderedElementsAre(
57 MatchesOperatorDescriptor(builtin::kSubtract, Kind::kInt),
58 MatchesOperatorDescriptor(builtin::kSubtract, Kind::kDouble),
59 MatchesOperatorDescriptor(builtin::kSubtract, Kind::kUint)));
60 EXPECT_THAT(registry.FindStaticOverloads(builtin::kDivide, false,
61 {Kind::kAny, Kind::kAny}),
62 UnorderedElementsAre(
63 MatchesOperatorDescriptor(builtin::kDivide, Kind::kInt),
64 MatchesOperatorDescriptor(builtin::kDivide, Kind::kDouble),
65 MatchesOperatorDescriptor(builtin::kDivide, Kind::kUint)));
66 EXPECT_THAT(registry.FindStaticOverloads(builtin::kMultiply, false,
67 {Kind::kAny, Kind::kAny}),
68 UnorderedElementsAre(
69 MatchesOperatorDescriptor(builtin::kMultiply, Kind::kInt),
70 MatchesOperatorDescriptor(builtin::kMultiply, Kind::kDouble),
71 MatchesOperatorDescriptor(builtin::kMultiply, Kind::kUint)));
72 EXPECT_THAT(registry.FindStaticOverloads(builtin::kModulo, false,
73 {Kind::kAny, Kind::kAny}),
74 UnorderedElementsAre(
75 MatchesOperatorDescriptor(builtin::kModulo, Kind::kInt),
76 MatchesOperatorDescriptor(builtin::kModulo, Kind::kUint)));
77 EXPECT_THAT(registry.FindStaticOverloads(builtin::kNeg, false, {Kind::kAny}),
78 UnorderedElementsAre(MatchesNegationDescriptor(Kind::kInt),
79 MatchesNegationDescriptor(Kind::kDouble)));
80}
81
82// TODO(uncreated-issue/41): move functional parsed expr tests when modern APIs for
83// evaluator available.

Callers

nothing calls this directly

Calls 2

FindStaticOverloadsMethod · 0.45

Tested by

no test coverage detected