pascalabcnet/TestSuite/dynarrays1.pas
Mikhalkovich Stanislav 82776f3c77 NewSet - много мелких исправлений.
Все тесты проходят кроме Tests 5 - видимо с pabcrtl.dll
2024-11-09 12:18:19 +03:00

82 lines
2.4 KiB
ObjectPascal

type shortstr = string[2];
tset = set of 1..3;
procedure Test;
var arr : array of integer := new integer[3](1,2,3);
arr4 : array of shortstr := new shortstr[2]('abc','def');
arr5 : array of tset := new tset[2]([1,2,7],[]);
begin
assert(arr[0]=1); assert(arr[1]=2); assert(arr[2]=3);
arr := new integer[2](11,12);
assert(arr[0]=11);
var arr2 : array of char := new char[2]('k','l');
assert(arr2[1]='l');
var arr3 :array of real := new real[3](min(2,3),max(1,3),3.2);
assert(arr3[0]=2); assert(arr3[1]=3); assert(arr3[2]=3.2);
assert(arr4[0]='ab');
assert(arr5[0]=[1,2,7]);
end;
procedure Test2;
var arr : array of integer := new integer[3](1,2,3);
arr4 : array of shortstr := new shortstr[2]('abc','def');
arr5 : array of tset := new tset[2]([1,2,7],[]);
procedure Nested;
begin
arr := new integer[3](1,2,3);
assert(arr[0]=1); assert(arr[1]=2); assert(arr[2]=3);
arr := new integer[2](11,12);
assert(arr[0]=11);
var arr2 : array of char := new char[2]('k','l');
assert(arr2[1]='l');
assert(arr4[0]='ab');
assert(arr5[0]=[1,2,7]);
var arr3 :array of real := new real[3](min(2,3),max(1,3),3.2);
assert(arr3[0]=2); assert(arr3[1]=3); assert(arr3[2]=3.2);
end;
begin
assert(arr[0]=1); assert(arr[1]=2); assert(arr[2]=3);
arr := new integer[2](11,12);
assert(arr[0]=11);
var arr2 : array of char := new char[2]('k','l');
assert(arr2[1]='l');
assert(arr4[0]='ab');
assert(arr5[0]=[1,2,7]);
var arr3 :array of real := new real[3](min(2,3),max(1,3),3.2);
assert(arr3[0]=2); assert(arr3[1]=3); assert(arr3[2]=3.2);
Nested;
end;
procedure Test3(a : array of char);
begin
assert(a.Length = 3);
assert(a[0]='a');
end;
var arr : array of integer := new integer[3](1,2,3);
arr4 : array of shortstr := new shortstr[2]('abc','def');
arr5 : array of tset := new tset[2]([1,2,7],[]);
arr6 : array of object := (1,2,3);
arr7 : array of array of set of 1..3 := (([2,3],[3,5]),([1,4],[2,3]));
begin
assert(Length(arr)=3);
assert(arr[0]=1); assert(arr[1]=2); assert(arr[2]=3);
arr := new integer[2](11,12);
assert(arr[0]=11);
var arr2 : array of char := new char[2]('k','l');
assert(arr2[1]='l');
var arr3 :array of real := new real[3](min(2,3),max(1,3),3.2);
assert(arr3[0]=2); assert(arr3[1]=3); assert(arr3[2]=3.2);
assert(arr4[0]='ab');
assert(arr5[0]=[1,2,7]);
assert(integer(arr6[1])=2);
arr6 := new object[3](1,2,3);
assert(integer(arr6[1])=2);
Test;
Test2;
Test3(new char[3]('a','b','c'));
assert(arr7[0,1]=[3,5]);
end.