pascalabcnet/TestSuite/arrayofset1.pas

155 lines
3.7 KiB
ObjectPascal
Raw Permalink Normal View History

2015-05-14 22:35:07 +03:00
type TSet = set of char;
TArr = array[1..4] of TSet;
TMatr = array[1..3,1..4] of TSet;
procedure Test;
var arr : TArr;
arr2 : TMatr;
begin
arr[2] := ['a','d','m'];
arr[3] := arr[2];
Include(arr[3],'s');
assert(arr[3] = ['a','d','m','s']);
assert(arr[2] = ['a','d','m']);
Exclude(arr[2],'d'); assert(arr[2]=['a','m']);
arr2[1,1] := ['a','d','m'];
arr2[2,2] := arr2[1,1];
Include(arr2[2,2],'s');
assert(arr2[2,2] = ['a','d','m','s']);
assert(arr2[1,1] = ['a','d','m']);
Exclude(arr2[1,1],'d'); assert(arr2[1,1]=['a','m']);
end;
procedure Test2(arr : TArr; arr2 : TMatr);
begin
arr[2] := ['a','d','m'];
arr[3] := arr[2];
Include(arr[3],'s');
assert(arr[3] = ['a','d','m','s']);
assert(arr[2] = ['a','d','m']);
Exclude(arr[2],'d'); assert(arr[2]=['a','m']);
arr2[1,1] := ['a','d','m'];
arr2[2,2] := arr2[1,1];
Include(arr2[2,2],'s');
assert(arr2[2,2] = ['a','d','m','s']);
assert(arr2[1,1] = ['a','d','m']);
Exclude(arr2[1,1],'d'); assert(arr2[1,1]=['a','m']);
end;
procedure Test3(var arr : TArr; var arr2 : TMatr);
begin
arr[2] := ['a','d','m'];
arr[3] := arr[2];
Include(arr[3],'s');
assert(arr[3] = ['a','d','m','s']);
assert(arr[2] = ['a','d','m']);
Exclude(arr[2],'d'); assert(arr[2]=['a','m']);
arr2[1,1] := ['a','d','m'];
arr2[2,2] := arr2[1,1];
Include(arr2[2,2],'s');
assert(arr2[2,2] = ['a','d','m','s']);
assert(arr2[1,1] = ['a','d','m']);
Exclude(arr2[1,1],'d'); assert(arr2[1,1]=['a','m']);
end;
procedure Test4;
var arr : TArr;
arr2 : TMatr;
procedure Nested;
begin
arr[2] := ['a','d','m'];
arr[3] := arr[2];
Include(arr[3],'s');
assert(arr[3] = ['a','d','m','s']);
assert(arr[2] = ['a','d','m']);
Exclude(arr[2],'d'); assert(arr[2]=['a','m']);
arr2[1,1] := ['a','d','m'];
arr2[2,2] := arr2[1,1];
Include(arr2[2,2],'s');
assert(arr2[2,2] = ['a','d','m','s']);
assert(arr2[1,1] = ['a','d','m']);
Exclude(arr2[1,1],'d'); assert(arr2[1,1]=['a','m']);
end;
begin
arr[2] := ['a','d','m'];
arr[3] := arr[2];
Include(arr[3],'s');
assert(arr[3] = ['a','d','m','s']);
assert(arr[2] = ['a','d','m']);
Exclude(arr[2],'d'); assert(arr[2]=['a','m']);
arr2[1,1] := ['a','d','m'];
arr2[2,2] := arr2[1,1];
Include(arr2[2,2],'s');
assert(arr2[2,2] = ['a','d','m','s']);
assert(arr2[1,1] = ['a','d','m']);
Exclude(arr2[1,1],'d'); assert(arr2[1,1]=['a','m']);
Nested;
end;
procedure Test5(var arr : TArr; var arr2 : TMatr);
procedure Nested;
begin
arr[2] := ['a','d','m'];
arr[3] := arr[2];
Include(arr[3],'s');
assert(arr[3] = ['a','d','m','s']);
assert(arr[2] = ['a','d','m']);
Exclude(arr[2],'d'); assert(arr[2]=['a','m']);
arr2[1,1] := ['a','d','m'];
arr2[2,2] := arr2[1,1];
Include(arr2[2,2],'s');
assert(arr2[2,2] = ['a','d','m','s']);
assert(arr2[1,1] = ['a','d','m']);
Exclude(arr2[1,1],'d'); assert(arr2[1,1]=['a','m']);
end;
begin
arr[2] := ['a','d','m'];
arr[3] := arr[2];
Include(arr[3],'s');
assert(arr[3] = ['a','d','m','s']);
assert(arr[2] = ['a','d','m']);
Exclude(arr[2],'d'); assert(arr[2]=['a','m']);
arr2[1,1] := ['a','d','m'];
arr2[2,2] := arr2[1,1];
Include(arr2[2,2],'s');
assert(arr2[2,2] = ['a','d','m','s']);
assert(arr2[1,1] = ['a','d','m']);
Exclude(arr2[1,1],'d'); assert(arr2[1,1]=['a','m']);
Nested;
end;
var arr : TArr;
arr2 : TMatr;
begin
arr[2] := ['a','d','m'];
arr[3] := arr[2];
Include(arr[3],'s');
assert(arr[3] = ['a','d','m','s']);
assert(arr[2] = ['a','d','m']);
Exclude(arr[2],'d'); assert(arr[2]=['a','m']);
arr2[1,1] := ['a','d','m'];
arr2[2,2] := arr2[1,1];
Include(arr2[2,2],'s');
assert(arr2[2,2] = ['a','d','m','s']);
assert(arr2[1,1] = ['a','d','m']);
Exclude(arr2[1,1],'d'); assert(arr2[1,1]=['a','m']);
Test;
Test2(arr,arr2);
Test3(arr,arr2);
Test4;
Test5(arr,arr2);
end.