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

Function ExpectResult

eval/public/builtin_func_registrar_test.cc:64–93  ·  view source on GitHub ↗

Source from the content-addressed store, hash-verified

62}
63
64void ExpectResult(const TestCase& test_case) {
65 auto parsed_expr = parser::Parse(test_case.expr);
66 ASSERT_OK(parsed_expr);
67 const Expr& expr_ast = parsed_expr->expr();
68 const SourceInfo& source_info = parsed_expr->source_info();
69
70 std::unique_ptr<CelExpressionBuilder> builder =
71 CreateCelExpressionBuilder(test_case.options);
72 ASSERT_OK(
73 RegisterBuiltinFunctions(builder->GetRegistry(), test_case.options));
74 ASSERT_OK_AND_ASSIGN(auto cel_expression,
75 builder->CreateExpression(&expr_ast, &source_info));
76
77 Activation activation;
78 for (auto var : test_case.vars) {
79 activation.InsertValue(var.first, var.second);
80 }
81
82 google::protobuf::Arena arena;
83 ASSERT_OK_AND_ASSIGN(auto value,
84 cel_expression->Evaluate(activation, &arena));
85 if (!test_case.result.ok()) {
86 EXPECT_TRUE(value.IsError()) << value.DebugString();
87 EXPECT_THAT(*value.ErrorOrDie(),
88 StatusIs(test_case.result.status().code(),
89 HasSubstr(test_case.result.status().message())));
90 return;
91 }
92 EXPECT_THAT(value, test::EqualsCelValue(*test_case.result));
93}
94
95using BuiltinFuncParamsTest = testing::TestWithParam<TestCase>;
96TEST_P(BuiltinFuncParamsTest, StandardFunctions) { ExpectResult(GetParam()); }

Callers 1

TEST_PFunction · 0.70

Calls 14

RegisterBuiltinFunctionsFunction · 0.85
EqualsCelValueFunction · 0.85
source_infoMethod · 0.80
GetRegistryMethod · 0.80
InsertValueMethod · 0.80
ErrorOrDieMethod · 0.80
codeMethod · 0.80
messageMethod · 0.80
ParseFunction · 0.50
exprMethod · 0.45
okMethod · 0.45

Tested by

no test coverage detected