123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263 |
- unit tcsysutils;
- {$mode ObjFPC}
- interface
- uses
- Classes, SysUtils, fpcunit, testregistry;
- Type
- { TTestSysutils }
- TTestSysutils = Class(TTestCase)
- private
- procedure TestFormat(Fmt: String; const Args: array of const;
- aResult: String);
- Published
- Procedure TestFormatSimple;
- end;
- implementation
- Procedure TTestSysutils.TestFormat(Fmt : String; Const Args : Array of const; aResult : String);
- begin
- AssertEquals('Format >>'+Fmt+'<<',aResult,Format(Fmt,Args));
- end;
- Procedure TTestSysutils.TestFormatSimple;
- begin
- // Just 1 data item
- TestFormat('%s', ['Hello'],'Hello');
- // A mix of literal text and a data item
- TestFormat('String = %s', ['Hello'],'String = Hello');
- // Examples of each of the data types
- TestFormat('Decimal = %d', [-123],'Decimal = -123');
- {$IFDEF PAS2JS}
- TestFormat('Exponent = %e', [12345.678],'Exponent = 1.23E+4');
- {$ELSE}
- TestFormat('Exponent = %e', [12345.678],'Exponent = 1.2345678000000000E+004');
- {$ENDIF}
- TestFormat('Fixed = %f', [12345.678],'Fixed = 12345.68');
- TestFormat('General = %g', [12345.678],'General = 12345.678');
- TestFormat('Number = %n', [12345.678],'Number = 12,345.68');
- {$IFDEF PAS2JS}
- TestFormat('Money = %m', [12345.678],'Money = $12,345.68');
- {$ELSE}
- TestFormat('Money = %m', [12345.678],'Money = 12,345.68$');
- {$ENDIF}
- TestFormat('String = %s', ['Hello'],'String = Hello');
- TestFormat('Unsigned decimal = %u', [123],'Unsigned decimal = 123');
- TestFormat('Hexadecimal = %x', [140],'Hexadecimal = 8C');
- end;
- initialization
- RegisterTests([TTestSysUtils]);
- end.
|