pascalabcnet/TestSuite/yield1.pas

31 lines
557 B
ObjectPascal
Raw Permalink Normal View History

2016-07-10 00:14:30 +03:00
function Sq1: sequence of integer;
begin
yield 1;
yield 5;
end;
function Squares(n: integer): sequence of integer;
begin
for var i:=1 to n do
yield i*i;
yield 666;
begin
yield 777;
end;
end;
function Sq2(n: integer): sequence of integer;
begin
for var i:=1 to n do
begin
yield i;
yield i;
end;
end;
begin
Assert(Sq1.SequenceEqual(Seq(1,5)));
Assert(Squares(5).SequenceEqual(Seq(1,4,9,16,25,666,777)),'not Squares(5).SequenceEqual(Seq(1,4,9,16,25))');
Assert(Sq2(5).SequenceEqual(Seq(1,1,2,2,3,3,4,4,5,5)));
end.