@@ -1259,6 +1259,38 @@ def test_count_zero_or_negative(self):
12591259 assert en .take_last (- 1 ).to_list () == []
12601260
12611261
1262+ class TestTakeWhileMethod :
1263+ def test_take_while_some (self ):
1264+ lst = ['1' , '3' , '5' , '7' , '' , '1' , '4' , '5' ]
1265+ en = Enumerable (lst )
1266+ q = en .take_while (lambda x : x != '' )
1267+ assert q .to_list () == ['1' , '3' , '5' , '7' ]
1268+
1269+ def test_take_while_all (self ):
1270+ lst = ['1' , '3' , '5' , '7' , '' , '1' , '4' , '5' ]
1271+ en = Enumerable (lst )
1272+ q = en .take_while (lambda x : x != '77' )
1273+ assert q .to_list () == lst
1274+
1275+ def test_take_while_nothing (self ):
1276+ lst = ['1' , '3' , '5' , '7' , '' , '1' , '4' , '5' ]
1277+ en = Enumerable (lst )
1278+ q = en .take_while (lambda x : not isinstance (x , str ))
1279+ assert q .to_list () == []
1280+
1281+ def test_take_while2_some (self ):
1282+ lst = ['1' , '3' , '5' , '7' , '' , '1' , '4' , '5' ]
1283+ en = Enumerable (lst )
1284+ q = en .take_while2 (lambda x , i : isinstance (x , str ) and i < 4 )
1285+ assert q .to_list () == ['1' , '3' , '5' , '7' ]
1286+
1287+ def test_take_while2_all (self ):
1288+ lst = ['1' , '3' , '5' , '7' , '' , '1' , '4' , '5' ]
1289+ en = Enumerable (lst )
1290+ q = en .take_while2 (lambda x , i : isinstance (x , str ) and i < 8 )
1291+ assert q .to_list () == lst
1292+
1293+
12621294class TestUnionMethod :
12631295 def test_union (self ):
12641296 gen = (i for i in range (5 ))
0 commit comments