1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465666768697071727374757677787980818283848586878889909192 |
- {$C+}
- program tassert2;
- var
- global_boolean : boolean;
- counter : longint;
- const
- RESULT_BOOLEAN = false;
- procedure fail;
- begin
- Writeln('Failure!');
- Halt(1);
- end;
- function get_boolean : boolean;
- begin
- get_boolean := RESULT_BOOLEAN;
- end;
- procedure test_assert_reference_global;
- begin
- global_boolean:=RESULT_BOOLEAN;
- assert(global_boolean);
- end;
- procedure test_assert_reference_local;
- var
- b: boolean;
- begin
- b:=RESULT_BOOLEAN;
- assert(b);
- end;
- procedure test_assert_register;
- begin
- assert(get_boolean);
- end;
- procedure test_assert_flags;
- var
- i,j : integer;
- begin
- i:=0;
- j:=-12;
- assert(i < j);
- end;
- procedure test_assert_constant;
- begin
- assert(RESULT_BOOLEAN);
- end;
- { Handle the assertion failed ourselves, so we can test everything in
- one shot.
- }
- Procedure MyAssertRoutine(const msg,fname:ShortString;lineno:longint;erroraddr:{$ifdef VER1_0}longint{$else}pointer{$endif});
- begin
- Inc(counter);
- end;
- begin
- counter:=0;
- AssertErrorProc := @MyAssertRoutine;
- Write('Assert test (FALSE)...');
- test_assert_reference_global;
- test_assert_reference_local;
- test_assert_register;
- test_assert_flags;
- test_assert_constant;
- if counter <> 5 then
- fail
- else
- WriteLn('Success!');
- end.
- {
- $Log$
- Revision 1.2 2003-03-17 19:27:00 peter
- * fixed for 1.1 compiler
- Revision 1.1 2002/09/16 19:16:36 carl
- * several new routines have a testsuit.
- }
|