| 495 | class FromFutureFixture : public GeneratorTestFixture {}; |
| 496 | |
| 497 | TEST_P(FromFutureFixture, Basic) { |
| 498 | auto source = Future<std::vector<TestInt>>::MakeFinished(RangeVector(3)); |
| 499 | if (IsSlow()) { |
| 500 | source = SleepABitAsync().Then( |
| 501 | []() -> Result<std::vector<TestInt>> { return RangeVector(3); }); |
| 502 | } |
| 503 | auto slow = IsSlow(); |
| 504 | auto to_gen = source.Then([slow](const std::vector<TestInt>& vec) { |
| 505 | auto vec_gen = MakeVectorGenerator(vec); |
| 506 | if (slow) { |
| 507 | return util::SlowdownABit(std::move(vec_gen)); |
| 508 | } |
| 509 | return vec_gen; |
| 510 | }); |
| 511 | auto gen = MakeFromFuture(std::move(to_gen)); |
| 512 | auto collected = CollectAsyncGenerator(std::move(gen)); |
| 513 | ASSERT_FINISHES_OK_AND_EQ(RangeVector(3), collected); |
| 514 | } |
| 515 | |
| 516 | INSTANTIATE_TEST_SUITE_P(FromFutureTests, FromFutureFixture, |
| 517 | ::testing::Values(false, true)); |
nothing calls this directly
no test coverage detected