pascalabcnet/TestSuite/formatter_tests/should/cast1.pas

58 lines
1.4 KiB
ObjectPascal
Raw Permalink Normal View History

2018-09-20 22:21:16 +03:00
type
TColor = (red, green, blue);
TDiap = red..blue;
TIntDiap = 1..4;
var
t: TColor;
t2: TDiap;
b: byte;
sm: smallint;
sh: shortint;
w: word;
lw: longword;
i: integer;
li: int64;
ui: uint64;
d: TIntDiap;
begin
t := t2; t2 := t;
b := 1; sm := 1; sh := 1; w := 1; lw := 1; i := 1; li := 1; ui := 1; d := 1;
t := TColor(b); assert(t = green);
t := TColor(sm); assert(t = green);
t := TColor(sh); assert(t = green);
t := TColor(w); assert(t = green);
t := TColor(lw); assert(t = green);
t := TColor(i); assert(t = green);
t := TColor(li); assert(t = green);
t := TColor(ui); assert(t = green);
//t := TColor(d); assert(t=green);
t := blue;
assert(byte(t) = 2);
assert(smallint(t) = 2);
assert(shortint(t) = 2);
assert(word(t) = 2);
assert(longword(t) = 2);
assert(integer(t) = 2);
assert(int64(t) = 2);
assert(uint64(t) = 2);
//assert(TIntDiap(t)=2);
t2 := TDiap(b); assert(t2 = green);
t2 := TDiap(sm); assert(t2 = green);
t2 := TDiap(sh); assert(t2 = green);
t2 := TDiap(w); assert(t2 = green);
t2 := TDiap(lw); assert(t2 = green);
t2 := TDiap(i); assert(t2 = green);
t2 := TDiap(li); assert(t2 = green);
t2 := TDiap(ui); assert(t2 = green);
t2 := blue;
assert(byte(t2) = 2);
assert(smallint(t2) = 2);
assert(shortint(t2) = 2);
assert(word(t2) = 2);
assert(longword(t2) = 2);
assert(integer(t2) = 2);
assert(int64(t2) = 2);
assert(uint64(t2) = 2);
end.