pascalabcnet/TestSuite/records18.pas
2020-12-30 14:54:53 +01:00

34 lines
584 B
ObjectPascal

var flag: boolean;
type
r1 = record
i := 1;
static function f(a: r1): boolean;
begin
Result := a = a;
end;
static function f2(a: r1): boolean;
begin
Result := a <> a;
end;
static function operator=(a, b: r1): boolean;
begin
flag := true;
Result := a.i = b.i;
end;
static function operator<>(a, b: r1): boolean;
begin
flag := true;
Result := a.i <> b.i;
end;
end;
begin
assert(r1.f(new r1));
assert(flag);
flag := false;
assert(not r1.f2(new r1));
assert(flag);
end.