@@ -212,6 +212,42 @@ public function testSkipMethod($collection)
212212 $ this ->assertSame ([5 , 6 ], $ data ->all ());
213213 }
214214
215+ /**
216+ * @dataProvider collectionClassProvider
217+ */
218+ public function testSkipUntil ($ collection )
219+ {
220+ $ data = new $ collection ([1 , 1 , 2 , 2 , 3 , 3 , 4 , 4 ]);
221+
222+ $ data = $ data ->skipUntil (3 )->values ();
223+
224+ $ this ->assertSame ([3 , 3 , 4 , 4 ], $ data ->all ());
225+
226+ $ data = $ data ->skipUntil (function ($ value , $ key ) {
227+ return $ value > 3 ;
228+ })->values ();
229+
230+ $ this ->assertSame ([4 , 4 ], $ data ->all ());
231+ }
232+
233+ /**
234+ * @dataProvider collectionClassProvider
235+ */
236+ public function testSkipWhile ($ collection )
237+ {
238+ $ data = new $ collection ([1 , 1 , 2 , 2 , 3 , 3 , 4 , 4 ]);
239+
240+ $ data = $ data ->skipWhile (1 )->values ();
241+
242+ $ this ->assertSame ([2 , 2 , 3 , 3 , 4 , 4 ], $ data ->all ());
243+
244+ $ data = $ data ->skipWhile (function ($ value , $ key ) {
245+ return $ value < 3 ;
246+ })->values ();
247+
248+ $ this ->assertSame ([3 , 3 , 4 , 4 ], $ data ->all ());
249+ }
250+
215251 /**
216252 * @dataProvider collectionClassProvider
217253 */
0 commit comments