Ahven – Package

Types

Test_Count_Type

type Test_Count_Type is new Long_Integer range 0 .. Count_Max;

Type for the test count. This effectively limits the amount tests to whatever Count_Max is.

Although, in practice when adding tests the limit is not checked.

Currently Count_Max is constant (2**31) - 1.

Exceptions

Assertion_Error

Exception, raised when Assert fails.

Procedures and Functions

Assert

procedure Assert (Condition : Boolean; Message : String);

If Condition is false, Assert raises Assertion_Error with given Message.

Assert_Equal

New in version 1.4.

generic
   type Data_Type is private;
   with function Image (Item : Data_Type) return String is <>;
procedure Assert_Equal (Actual : Data_Type; Expected : Data_Type; Message : String);

If Expected /= Actual, Assert raises Assertion_Error with given Message. Function Image is used to convert Actual and Expected parameters into String.

Example:

declare
   procedure Assert_Eq_Nat is
     new Ahven.Assert_Equal (Data_Type => Natural,
                             Image     => Natural'Image);

begin
   Assert_Eq_Nat (Actual   => Test_Count,
                  Expected => 4,
                  "test count");
end;

Fail

procedure Fail (Message : String);

Fail always raises Assertion_Error with given Message.