155 lines
3.7 KiB
ObjectPascal
155 lines
3.7 KiB
ObjectPascal
|
|
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.
|