@@ -89,46 +89,34 @@ TEST(PipelineTest, PushingMultiProcessesInOrder) {
8989 ASSERT_EQ (consume_result_2, PipelineConsumeResult::Done);
9090}
9191
92- TEST (PipelineTest, PushingToFrontOverridesOrder ) {
92+ TEST (PipelineTest, ProduceIfEmptyDoesNotConsumeWhenQueueIsNotEmpty ) {
9393 const int depth = 2 ;
9494 fml::RefPtr<IntPipeline> pipeline = fml::MakeRefCounted<IntPipeline>(depth);
9595
9696 Continuation continuation_1 = pipeline->Produce ();
97- Continuation continuation_2 = pipeline->ProduceToFront ();
97+ Continuation continuation_2 = pipeline->ProduceIfEmpty ();
9898
9999 const int test_val_1 = 1 , test_val_2 = 2 ;
100100 continuation_1.Complete (std::make_unique<int >(test_val_1));
101101 continuation_2.Complete (std::make_unique<int >(test_val_2));
102102
103103 PipelineConsumeResult consume_result_1 = pipeline->Consume (
104- [&test_val_2](std::unique_ptr<int > v) { ASSERT_EQ (*v, test_val_2); });
105- ASSERT_EQ (consume_result_1, PipelineConsumeResult::MoreAvailable);
106-
107- PipelineConsumeResult consume_result_2 = pipeline->Consume (
108104 [&test_val_1](std::unique_ptr<int > v) { ASSERT_EQ (*v, test_val_1); });
109- ASSERT_EQ (consume_result_2 , PipelineConsumeResult::Done);
105+ ASSERT_EQ (consume_result_1 , PipelineConsumeResult::Done);
110106}
111107
112- TEST (PipelineTest, PushingToFrontDropsLastResource ) {
113- const int depth = 2 ;
108+ TEST (PipelineTest, ProduceIfEmptySuccessfulIfQueueIsEmpty ) {
109+ const int depth = 1 ;
114110 fml::RefPtr<IntPipeline> pipeline = fml::MakeRefCounted<IntPipeline>(depth);
115111
116- Continuation continuation_1 = pipeline->Produce ();
117- Continuation continuation_2 = pipeline->Produce ();
118- Continuation continuation_3 = pipeline->ProduceToFront ();
112+ Continuation continuation_1 = pipeline->ProduceIfEmpty ();
119113
120- const int test_val_1 = 1 , test_val_2 = 2 , test_val_3 = 3 ;
114+ const int test_val_1 = 1 ;
121115 continuation_1.Complete (std::make_unique<int >(test_val_1));
122- continuation_2.Complete (std::make_unique<int >(test_val_2));
123- continuation_3.Complete (std::make_unique<int >(test_val_3));
124116
125117 PipelineConsumeResult consume_result_1 = pipeline->Consume (
126- [&test_val_3](std::unique_ptr<int > v) { ASSERT_EQ (*v, test_val_3); });
127- ASSERT_EQ (consume_result_1, PipelineConsumeResult::MoreAvailable);
128-
129- PipelineConsumeResult consume_result_2 = pipeline->Consume (
130118 [&test_val_1](std::unique_ptr<int > v) { ASSERT_EQ (*v, test_val_1); });
131- ASSERT_EQ (consume_result_2 , PipelineConsumeResult::Done);
119+ ASSERT_EQ (consume_result_1 , PipelineConsumeResult::Done);
132120}
133121
134122} // namespace testing
0 commit comments