WITH REPORT; USE REPORT;
PROCEDURE C36203A IS
TYPE NINT IS NEW INTEGER RANGE 1 .. 5;
TYPE INT_ARR IS ARRAY(INTEGER RANGE 1 .. 3) OF INTEGER;
TYPE INT2_ARR IS ARRAY(INTEGER RANGE 1 .. 3,
INTEGER RANGE 1 .. 2) OF INTEGER;
OBJA : INTEGER := 3;
OBJB : NINT := 3;
BEGIN
TEST("C36203A", "'LENGTH YIELDS A RESULT OF TYPE " &
"UNIVERSAL INTEGER");
IF (OBJA + INT_ARR'LENGTH) /= IDENT_INT(6) THEN
FAILED("INCORRECT VALUE RETURNED BY 'LENGTH " &
"FOR ONE-DIM ARRAY TYPE 1");
END IF;
IF (OBJB + INT_ARR'LENGTH) /= 6 THEN
FAILED("INCORRECT VALUE RETURNED BY 'LENGTH " &
"FOR ONE-DIM ARRAY TYPE 2");
END IF;
IF (OBJA + INT2_ARR'LENGTH(1)) /= IDENT_INT(6) THEN
FAILED("INCORRECT VALUE RETURNED BY 'LENGTH " &
"FOR FIRST DIMENSION OF TWO-DIM ARRAY TYPE 1");
END IF;
IF (OBJB + INT2_ARR'LENGTH(1)) /= 6 THEN
FAILED("INCORRECT VALUE RETURNED BY 'LENGTH " &
"FOR FIRST DIMENSION OF TWO-DIM ARRAY TYPE 2");
END IF;
IF (OBJA + INT2_ARR'LENGTH(2)) /= IDENT_INT(5) THEN
FAILED("INCORRECT VALUE RETURNED BY 'LENGTH " &
"FOR SECOND DIMENSION OF TWO-DIM ARRAY TYPE 1");
END IF;
IF (OBJB + INT2_ARR'LENGTH(2)) /= 5 THEN
FAILED("INCORRECT VALUE RETURNED BY 'LENGTH " &
"FOR SECOND DIMENSION OF TWO-DIM ARRAY TYPE 2");
END IF;
RESULT;
END C36203A;