1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
|
program tstrreal4;
{ test for NegCurFormat values by Zeljan Rikalo
valid values are at:
http://msdn.microsoft.com/en-us/library/dd373791%28VS.85%29.aspx
}
uses SysUtils;
procedure test;
const
MaxNegCurFormats = 15;
var
s: string;
r: double;
i: integer;
begin
DecimalSeparator := '.';
r := -1.1;
writeln('NegCurrFormat test pass 1 ...');
for i := 0 to MaxNegCurFormats do
begin
NegCurrFormat := i;
s := FloatToStrF(r, ffCurrency, 12, 1);
writeln('NegCurrFormat: ',i,' value: ',s);
case i of
0,4,14,15:
if (Pos('(', s) = 0) and (Pos(')', s) = 0) then
halt(1);
else
if Pos('-', s) = 0 then
halt(1);
end;
end;
r := -0.001;
writeln('NegCurrFormat test pass 2 ...');
for i := 0 to MaxNegCurFormats do
begin
NegCurrFormat := i;
s := FloatToStrF(r, ffCurrency, 12, 4);
writeln('NegCurrFormat: ',i,' value: ',s);
case i of
0,4,14,15:
if (Pos('(', s) = 0) and (Pos(')', s) = 0) then
halt(1);
else
if Pos('-', s) = 0 then
halt(1);
end;
end;
writeln('Tests for NegCurrFormat: SUCCESS');
end;
begin
test;
end.
|