| 30 | } |
| 31 | |
| 32 | TEST(IssueCollector, CollectsIssues) { |
| 33 | IssueCollector issue_collector(RuntimeIssue::Severity::kError); |
| 34 | |
| 35 | EXPECT_THAT(issue_collector.AddIssue( |
| 36 | RuntimeIssue::CreateError(absl::InvalidArgumentError("e1"))), |
| 37 | StatusIs(absl::StatusCode::kInvalidArgument, "e1")); |
| 38 | ASSERT_OK(issue_collector.AddIssue(RuntimeIssue::CreateWarning( |
| 39 | absl::InvalidArgumentError("w1"), |
| 40 | RuntimeIssue::ErrorCode::kNoMatchingOverload))); |
| 41 | |
| 42 | EXPECT_THAT( |
| 43 | issue_collector.issues(), |
| 44 | ElementsAre( |
| 45 | Truly([](const RuntimeIssue& issue) { |
| 46 | return issue.severity() == RuntimeIssue::Severity::kError && |
| 47 | issue.error_code() == RuntimeIssue::ErrorCode::kOther && |
| 48 | ApplyMatcher( |
| 49 | StatusIs(absl::StatusCode::kInvalidArgument, "e1"), |
| 50 | issue.ToStatus()); |
| 51 | }), |
| 52 | Truly([](const RuntimeIssue& issue) { |
| 53 | return issue.severity() == RuntimeIssue::Severity::kWarning && |
| 54 | issue.error_code() == |
| 55 | RuntimeIssue::ErrorCode::kNoMatchingOverload && |
| 56 | ApplyMatcher( |
| 57 | StatusIs(absl::StatusCode::kInvalidArgument, "w1"), |
| 58 | issue.ToStatus()); |
| 59 | }))); |
| 60 | } |
| 61 | |
| 62 | TEST(IssueCollector, ReturnsStatusAtLimit) { |
| 63 | IssueCollector issue_collector(RuntimeIssue::Severity::kWarning); |
nothing calls this directly
no test coverage detected