| 204 | } |
| 205 | |
| 206 | TEST_P(CelValueEqualImplTypesTest, Basic) { |
| 207 | absl::optional<bool> result = CelValueEqualImpl(lhs(), rhs()); |
| 208 | |
| 209 | if (lhs().IsNull() || rhs().IsNull()) { |
| 210 | if (lhs().IsNull() && rhs().IsNull()) { |
| 211 | EXPECT_THAT(result, Optional(true)); |
| 212 | } else { |
| 213 | EXPECT_THAT(result, Optional(false)); |
| 214 | } |
| 215 | } else if (lhs().type() == rhs().type() || |
| 216 | (IsNumeric(lhs().type()) && IsNumeric(rhs().type()))) { |
| 217 | EXPECT_THAT(result, Optional(should_be_equal())); |
| 218 | } else { |
| 219 | EXPECT_THAT(result, Optional(false)); |
| 220 | } |
| 221 | } |
| 222 | |
| 223 | INSTANTIATE_TEST_SUITE_P(EqualityBetweenTypes, CelValueEqualImplTypesTest, |
| 224 | Combine(ValuesIn(ValueExamples1()), |
nothing calls this directly
no test coverage detected