275 lines
7.6 KiB
ObjectPascal
275 lines
7.6 KiB
ObjectPascal
procedure SetTest;
|
|
var s2 : set of byte;
|
|
s1 : set of integer;
|
|
s3 : set of smallint;
|
|
s4 : set of shortint;
|
|
s5 : set of word;
|
|
s6 : set of longword;
|
|
s7 : set of int64;
|
|
s8 : set of uint64;
|
|
s9 : set of real;
|
|
s10 : set of char;
|
|
s11 : set of string;
|
|
s12 : set of 3..6;
|
|
s13 : set of 'b'..'f';
|
|
|
|
begin
|
|
s2 := [1,4]; assert(s2 = [1,4]);
|
|
s1 := [4,7,8]; assert(s1 = [4,7,8]);
|
|
s3 := [2,6]; assert(s3 = [2,6]);
|
|
s4 := [2,6]; assert(s4 = [2,6]);
|
|
s5 := [2,6]; assert(s5 = [2,6]);
|
|
s6 := [2,6]; assert(s6 = [2,6]);
|
|
s7 := [2,6]; assert(s7 = [2,6]);
|
|
s8 := [2,6]; assert(s8 = [2,6]);
|
|
s9 := [2.71,3.14]; assert(s9 = [2.71,3.14]);
|
|
s10 := ['a','c','e']; assert(s10=['a','c','e']);
|
|
s11 := ['aaa','bbb','ccc']; assert(s11=['aaa','bbb','ccc']);
|
|
|
|
s1 := [1,3,7];
|
|
s2 := s1; assert(s2 = [1,3,7]);
|
|
s3 := s1; assert(s3 = [1,3,7]);
|
|
s4 := s1; assert(s4 = [1,3,7]);
|
|
s5 := s1; assert(s5 = [1,3,7]);
|
|
s6 := s1; assert(s6 = [1,3,7]);
|
|
s7 := s1; assert(s7 = [1,3,7]);
|
|
s8 := s1; assert(s8 = [1,3,7]);
|
|
|
|
s2 := [1..50,51..100]; assert(s2=[1..100]);
|
|
s1 := [1..50,51..100]; assert(s1=[1..100]);
|
|
s3 := [1..50,51..100]; assert(s3=[1..100]);
|
|
s4 := [1..50,51..100]; assert(s4=[1..100]);
|
|
s5 := [1..50,51..100]; assert(s5=[1..100]);
|
|
s6 := [1..50,51..100]; assert(s6=[1..100]);
|
|
s7 := [1..50,51..100]; assert(s7=[1..100]);
|
|
s8 := [1..50,51..100]; assert(s8=[1..100]);
|
|
s10 := ['a'..'d','e'..'m']; assert(s10=['a'..'m']);
|
|
assert([1,2,3]<[1..4]);
|
|
assert([2..4]=[2,3,4]);
|
|
assert(['a','c'..'f']>['a']);
|
|
assert([1..6]<>[2..4]);
|
|
assert(SetOf(2,3)+[7,8]=[2,3,7,8]);
|
|
assert(SetOf(1,4,6)*[1,6]=[1,6]);
|
|
assert(SetOf(1)+[2] <= [1..3]);
|
|
assert(SetOf(2,3,5)-[2,3] = [5]);
|
|
assert(5 in [4,5,8]);
|
|
assert([1,2]+[] = [1,2]);
|
|
assert([1,2]*[] = []);
|
|
assert([1,2]-[] = [1,2]);
|
|
assert(not (5 in [7]));
|
|
s12 := [1..4];
|
|
assert(s12 = [1..4]);
|
|
s13 := ['a'..'d']; assert(s13 = ['a'..'d']);
|
|
end;
|
|
|
|
procedure SetTest2;
|
|
var s2 : set of byte;
|
|
s1 : set of integer;
|
|
s3 : set of smallint;
|
|
s4 : set of shortint;
|
|
s5 : set of word;
|
|
s6 : set of longword;
|
|
s7 : set of int64;
|
|
s8 : set of uint64;
|
|
s9 : set of real;
|
|
s10 : set of char;
|
|
s11 : set of string;
|
|
s12 : set of 3..6;
|
|
s13 : set of 'b'..'f';
|
|
|
|
procedure Nested;
|
|
begin
|
|
s2 := [1,4]; assert(s2 = [1,4]);
|
|
s1 := [4,7,8]; assert(s1 = [4,7,8]);
|
|
s3 := [2,6]; assert(s3 = [2,6]);
|
|
s4 := [2,6]; assert(s4 = [2,6]);
|
|
s5 := [2,6]; assert(s5 = [2,6]);
|
|
s6 := [2,6]; assert(s6 = [2,6]);
|
|
s7 := [2,6]; assert(s7 = [2,6]);
|
|
s8 := [2,6]; assert(s8 = [2,6]);
|
|
s9 := [2.71,3.14]; assert(s9 = [2.71,3.14]);
|
|
s10 := ['a','c','e']; assert(s10=['a','c','e']);
|
|
s11 := ['aaa','bbb','ccc']; assert(s11=['aaa','bbb','ccc']);
|
|
|
|
s1 := [1,3,7];
|
|
s2 := s1; assert(s2 = [1,3,7]);
|
|
s3 := s1; assert(s3 = [1,3,7]);
|
|
s4 := s1; assert(s4 = [1,3,7]);
|
|
s5 := s1; assert(s5 = [1,3,7]);
|
|
s6 := s1; assert(s6 = [1,3,7]);
|
|
s7 := s1; assert(s7 = [1,3,7]);
|
|
s8 := s1; assert(s8 = [1,3,7]);
|
|
|
|
s2 := [1..50,51..100]; assert(s2=[1..100]);
|
|
s1 := [1..50,51..100]; assert(s1=[1..100]);
|
|
s3 := [1..50,51..100]; assert(s3=[1..100]);
|
|
s4 := [1..50,51..100]; assert(s4=[1..100]);
|
|
s5 := [1..50,51..100]; assert(s5=[1..100]);
|
|
s6 := [1..50,51..100]; assert(s6=[1..100]);
|
|
s7 := [1..50,51..100]; assert(s7=[1..100]);
|
|
s8 := [1..50,51..100]; assert(s8=[1..100]);
|
|
s10 := ['a'..'d','e'..'m']; assert(s10=['a'..'m']);
|
|
assert([1,2,3]<[1..4]);
|
|
assert([2..4]=[2,3,4]);
|
|
assert(['a','c'..'f']>['a']);
|
|
assert([1..6]<>[2..4]);
|
|
assert(SetOf(2,3)+[7,8]=[2,3,7,8]);
|
|
assert(SetOf(1,4,6)*[1,6]=[1,6]);
|
|
assert(SetOf(1)+[2] <= [1..3]);
|
|
assert(SetOf(2,3,5)-[2,3] = [5]);
|
|
assert(5 in [4,5,8]);
|
|
assert([1,2]+[] = [1,2]);
|
|
assert([1,2]*[] = []);
|
|
assert([1,2]-[] = [1,2]);
|
|
assert(not (5 in [7]));
|
|
s12 := [1..4];
|
|
assert(s12 = [1..4]);
|
|
s13 := ['a'..'d']; assert(s13 = ['a'..'d']);
|
|
end;
|
|
|
|
begin
|
|
s2 := [1,4]; assert(s2 = [1,4]);
|
|
s1 := [4,7,8]; assert(s1 = [4,7,8]);
|
|
s3 := [2,6]; assert(s3 = [2,6]);
|
|
s4 := [2,6]; assert(s4 = [2,6]);
|
|
s5 := [2,6]; assert(s5 = [2,6]);
|
|
s6 := [2,6]; assert(s6 = [2,6]);
|
|
s7 := [2,6]; assert(s7 = [2,6]);
|
|
s8 := [2,6]; assert(s8 = [2,6]);
|
|
s9 := [2.71,3.14]; assert(s9 = [2.71,3.14]);
|
|
s10 := ['a','c','e']; assert(s10=['a','c','e']);
|
|
s11 := ['aaa','bbb','ccc']; assert(s11=['aaa','bbb','ccc']);
|
|
|
|
s1 := [1,3,7];
|
|
s2 := s1; assert(s2 = [1,3,7]);
|
|
s3 := s1; assert(s3 = [1,3,7]);
|
|
s4 := s1; assert(s4 = [1,3,7]);
|
|
s5 := s1; assert(s5 = [1,3,7]);
|
|
s6 := s1; assert(s6 = [1,3,7]);
|
|
s7 := s1; assert(s7 = [1,3,7]);
|
|
s8 := s1; assert(s8 = [1,3,7]);
|
|
|
|
s2 := [1..50,51..100]; assert(s2=[1..100]);
|
|
s1 := [1..50,51..100]; assert(s1=[1..100]);
|
|
s3 := [1..50,51..100]; assert(s3=[1..100]);
|
|
s4 := [1..50,51..100]; assert(s4=[1..100]);
|
|
s5 := [1..50,51..100]; assert(s5=[1..100]);
|
|
s6 := [1..50,51..100]; assert(s6=[1..100]);
|
|
s7 := [1..50,51..100]; assert(s7=[1..100]);
|
|
s8 := [1..50,51..100]; assert(s8=[1..100]);
|
|
s10 := ['a'..'d','e'..'m']; assert(s10=['a'..'m']);
|
|
assert([1,2,3]<[1..4]);
|
|
assert([2..4]=[2,3,4]);
|
|
assert(['a','c'..'f']>['a']);
|
|
assert([1..6]<>[2..4]);
|
|
assert(SetOf(2,3)+[7,8]=[2,3,7,8]);
|
|
assert(SetOf(1,4,6)*[1,6]=[1,6]);
|
|
assert(SetOf(1)+[2] <= [1..3]);
|
|
assert(SetOf(2,3,5)-[2,3] = [5]);
|
|
assert(5 in [4,5,8]);
|
|
assert([1,2]+[] = [1,2]);
|
|
assert([1,2]*[] = []);
|
|
assert([1,2]-[] = [1,2]);
|
|
assert(not (5 in [7]));
|
|
s12 := [1..4];
|
|
assert(s12 = [1..4]);
|
|
s13 := ['a'..'d']; assert(s13 = ['a'..'d']);
|
|
Nested;
|
|
end;
|
|
|
|
type TDiap = 1..3;
|
|
|
|
procedure Test3(var s : set of TDiap);
|
|
begin
|
|
assert(not (14 in s));
|
|
s := [1..6];
|
|
assert(s=[1..6]);
|
|
end;
|
|
|
|
procedure Test4(var s : set of TDiap);
|
|
procedure Nested;
|
|
begin
|
|
assert(not (14 in s));
|
|
s := [1..6];
|
|
assert(s=[1..6]);
|
|
end;
|
|
begin
|
|
Nested;
|
|
end;
|
|
|
|
var s2 : set of byte;
|
|
s1 : set of integer;
|
|
s3 : set of smallint;
|
|
s4 : set of shortint;
|
|
s5 : set of word;
|
|
s6 : set of longword;
|
|
s7 : set of int64;
|
|
s8 : set of uint64;
|
|
s9 : set of real;
|
|
s10 : set of char;
|
|
s11 : set of string;
|
|
s12 : set of 3..6;
|
|
s13 : set of 'b'..'f';
|
|
s14 : set of TDiap;
|
|
arr : array [1..4] of set of TDiap;
|
|
arr2 : array[1..4] of real;
|
|
|
|
begin
|
|
s2 := [1,4]; assert(s2 = [1,4]);
|
|
s1 := [4,7,8]; assert(s1 = [4,7,8]);
|
|
s3 := [2,6]; assert(s3 = [2,6]);
|
|
s4 := [2,6]; assert(s4 = [2,6]);
|
|
s5 := [2,6]; assert(s5 = [2,6]);
|
|
s6 := [2,6]; assert(s6 = [2,6]);
|
|
s7 := [2,6]; assert(s7 = [2,6]);
|
|
s8 := [2,6]; assert(s8 = [2,6]);
|
|
s9 := [2.71,3.14]; assert(s9 = [2.71,3.14]);
|
|
s10 := ['a','c','e']; assert(s10=['a','c','e']);
|
|
s11 := ['aaa','bbb','ccc']; assert(s11=['aaa','bbb','ccc']);
|
|
|
|
s1 := [1,3,7];
|
|
s2 := s1; assert(s2 = [1,3,7]);
|
|
s3 := s1; assert(s3 = [1,3,7]);
|
|
s4 := s1; assert(s4 = [1,3,7]);
|
|
s5 := s1; assert(s5 = [1,3,7]);
|
|
s6 := s1; assert(s6 = [1,3,7]);
|
|
s7 := s1; assert(s7 = [1,3,7]);
|
|
s8 := s1; assert(s8 = [1,3,7]);
|
|
|
|
s2 := [1..50,51..100]; assert(s2=[1..100]);
|
|
s1 := [1..50,51..100]; assert(s1=[1..100]);
|
|
s3 := [1..50,51..100]; assert(s3=[1..100]);
|
|
s4 := [1..50,51..100]; assert(s4=[1..100]);
|
|
s5 := [1..50,51..100]; assert(s5=[1..100]);
|
|
s6 := [1..50,51..100]; assert(s6=[1..100]);
|
|
s7 := [1..50,51..100]; assert(s7=[1..100]);
|
|
s8 := [1..50,51..100]; assert(s8=[1..100]);
|
|
s10 := ['a'..'d','e'..'m']; assert(s10=['a'..'m']);
|
|
assert([1,2,3]<[1..4]);
|
|
assert([2..4]=[2,3,4]);
|
|
assert(['a','c'..'f']>['a']);
|
|
assert([1..6]<>[2..4]);
|
|
assert(SetOf(2,3)+[7,8]=[2,3,7,8]);
|
|
assert(SetOf(1,4,6)*[1,6]=[1,6]);
|
|
assert(SetOf(1)+[2] <= [1..3]);
|
|
assert(SetOf(2,3,5)-[2,3] = [5]);
|
|
assert(5 in [4,5,8]);
|
|
assert([1,2]+[] = [1,2]);
|
|
assert([1,2]*[] = []);
|
|
assert([1,2]-[] = [1,2]);
|
|
assert(not (5 in [7]));
|
|
s12 := [1..4];
|
|
assert(s12 = [1..4]);
|
|
s13 := ['a'..'d'];
|
|
assert(s13 = ['a'..'d']);
|
|
SetTest;
|
|
SetTest2;
|
|
|
|
s14 := [1..6];
|
|
assert(s14=[1..6]);
|
|
Test3(s14);
|
|
Test4(s14);
|
|
s2 := [];
|
|
Include(s2,2);
|
|
Include(s2,5);
|
|
end. |