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

Function TEST

env/env_yaml_test.cc:172–1475  ·  view source on GitHub ↗

Source from the content-addressed store, hash-verified

170}
171
172TEST(EnvYamlTest, ParseVariableConfigWithTypeParams) {
173 ASSERT_OK_AND_ASSIGN(Config config, EnvConfigFromYaml(R"yaml(
174 variables:
175 - name: "dict"
176 type_name: "map"
177 params:
178 - type_name: "string"
179 - type_name: "A"
180 is_type_param: true
181 )yaml"));
182
183 const Config::VariableConfig& variable_config =
184 config.GetVariableConfigs()[0];
185 EXPECT_EQ(variable_config.name, "dict");
186 const auto& type_info = variable_config.type_info;
187 EXPECT_EQ(type_info.name, "map");
188 EXPECT_FALSE(type_info.is_type_param);
189 EXPECT_THAT(type_info.params, SizeIs(2));
190 EXPECT_EQ(type_info.params[0].name, "string");
191 EXPECT_FALSE(type_info.params[0].is_type_param);
192 EXPECT_THAT(type_info.params[0].params, IsEmpty());
193 EXPECT_EQ(type_info.params[1].name, "A");
194 EXPECT_TRUE(type_info.params[1].is_type_param);
195 EXPECT_THAT(type_info.params[1].params, IsEmpty());
196}
197
198struct ParseConstantTestCase {
199 std::string type_name;
200 std::string value;
201 std::string expected_error; // Empty if no error.
202 Constant expected_constant;
203};
204
205class EnvYamlParseConstantTest
206 : public testing::TestWithParam<ParseConstantTestCase> {};
207
208TEST_P(EnvYamlParseConstantTest, EnvYamlParseConstant) {
209 const ParseConstantTestCase& param = GetParam();
210 const std::string yaml = absl::StrFormat(
211 R"yaml(
212 variables:
213 - name: "const"
214 type_name: "%s"
215 value: %s
216 )yaml",
217 param.type_name, param.value);
218 absl::StatusOr<Config> status_or_config = EnvConfigFromYaml(yaml);
219 if (!param.expected_error.empty()) {
220 EXPECT_THAT(status_or_config, StatusIs(absl::StatusCode::kInvalidArgument,
221 HasSubstr(param.expected_error)));
222 return;
223 }
224 ASSERT_OK_AND_ASSIGN(Config config, status_or_config);
225
226 const Config::VariableConfig& variable_config =
227 config.GetVariableConfigs()[0];
228 EXPECT_EQ(variable_config.name, "const");
229 EXPECT_EQ(variable_config.type_info.name, param.type_name)

Callers 1

ASSERT_OK_AND_ASSIGNFunction · 0.70

Calls 2

GetExportTestCasesFunction · 0.85
GetRoundTripTestCasesFunction · 0.85

Tested by

no test coverage detected