3 -- Grant of Unlimited Rights
5 -- Under contracts F33600-87-D-0337, F33600-84-D-0280, MDA903-79-C-0687,
6 -- F08630-91-C-0015, and DCA100-97-D-0025, the U.S. Government obtained
7 -- unlimited rights in the software and documentation contained herein.
8 -- Unlimited rights are defined in DFAR 252.227-7013(a)(19). By making
9 -- this public release, the Government intends to confer upon all
10 -- recipients unlimited rights equal to those held by the Government.
11 -- These rights include rights to use, duplicate, release or disclose the
12 -- released technical data and computer software in whole or in part, in
13 -- any manner and for any purpose whatsoever, and to have or permit others
18 -- ALL MATERIALS OR INFORMATION HEREIN RELEASED, MADE AVAILABLE OR
19 -- DISCLOSED ARE AS IS. THE GOVERNMENT MAKES NO EXPRESS OR IMPLIED
20 -- WARRANTY AS TO ANY MATTER WHATSOEVER, INCLUDING THE CONDITIONS OF THE
21 -- SOFTWARE, DOCUMENTATION OR OTHER INFORMATION RELEASED, MADE AVAILABLE
22 -- OR DISCLOSED, OR THE OWNERSHIP, MERCHANTABILITY, OR FITNESS FOR A
23 -- PARTICULAR PURPOSE OF SAID MATERIAL.
26 -- CHECK THAT THE DECLARATIVE ITEMS IN A PACKAGE SPECIFICATION ARE
27 -- ELABORATED IN THE ORDER DECLARED.
30 -- DHH 03/09/88 CREATED ORIGINAL TEST.
32 WITH REPORT
; USE REPORT
;
36 TYPE ORDER_ARRAY
IS ARRAY(1 .. 14) OF INTEGER;
37 OBJECT_ARRAY
: ORDER_ARRAY
;
38 TYPE REAL
IS DIGITS 4;
39 TYPE ENUM
IS (RED
,YELLOW
,BLUE
);
41 TYPE ARR
IS ARRAY(1 ..2) OF BOOLEAN;
42 D
: ARR
:= (TRUE, TRUE);
43 E
: ARR
:= (FALSE, FALSE);
49 B
: REC
:= (I
=> IDENT_INT
(1));
50 C
: REC
:= (I
=> IDENT_INT
(2));
52 FUNCTION GIVEN_ORDER
(X
: INTEGER) RETURN INTEGER IS
59 FUNCTION BOOL
(X
: INTEGER) RETURN BOOLEAN IS
61 IF X
= IDENT_INT
(1) THEN
65 ELSIF X
= IDENT_INT
(8) THEN
72 FUNCTION INT
(X
: INTEGER) RETURN INTEGER IS
74 IF X
= IDENT_INT
(2) THEN
78 ELSIF X
= IDENT_INT
(9) THEN
85 FUNCTION FLOAT(X
: INTEGER) RETURN REAL
IS
87 IF X
= IDENT_INT
(3) THEN
91 ELSIF X
= IDENT_INT
(10) THEN
98 FUNCTION CHAR
(X
: INTEGER) RETURN CHARACTER IS
100 IF X
= IDENT_INT
(4) THEN
102 OBJECT_ARRAY
(X
) := A
;
104 ELSIF X
= IDENT_INT
(11) THEN
106 OBJECT_ARRAY
(X
) := A
;
111 FUNCTION ENUMR
(X
: INTEGER) RETURN ENUM
IS
113 IF X
= IDENT_INT
(5) THEN
115 OBJECT_ARRAY
(X
) := A
;
117 ELSIF X
= IDENT_INT
(12) THEN
119 OBJECT_ARRAY
(X
) := A
;
124 FUNCTION ARRY
(X
: INTEGER) RETURN ARR
IS
126 IF X
= IDENT_INT
(6) THEN
128 OBJECT_ARRAY
(X
) := A
;
130 ELSIF X
= IDENT_INT
(13) THEN
132 OBJECT_ARRAY
(X
) := A
;
137 FUNCTION RECOR
(X
: INTEGER) RETURN REC
IS
139 IF X
= IDENT_INT
(7) THEN
141 OBJECT_ARRAY
(X
) := A
;
143 ELSIF X
= IDENT_INT
(14) THEN
145 OBJECT_ARRAY
(X
) := A
;
151 A
: BOOLEAN := BOOL
(1);
152 B
: INTEGER := INT
(2);
153 C
: REAL
:= FLOAT(3);
154 D
: CHARACTER := CHAR
(4);
155 E
: ENUM
:= ENUMR
(5);
158 H
: BOOLEAN := BOOL
(8);
159 I
: INTEGER := INT
(9);
160 J
: REAL
:= FLOAT(10);
161 K
: CHARACTER := CHAR
(11);
162 L
: ENUM
:= ENUMR
(12);
164 N
: REC
:= RECOR
(14);
168 TEST
("C72002A", "CHECK THAT THE DECLARATIVE ITEMS IN A PACKAGE " &
169 "SPECIFICATION ARE ELABORATED IN THE ORDER " &
172 IF OBJECT_ARRAY
(1) /= IDENT_INT
(1) THEN
173 FAILED
("BOOLEAN 1 ELABORATED OUT OF ORDER");
176 IF OBJECT_ARRAY
(2) /= IDENT_INT
(2) THEN
177 FAILED
("INTEGER 1 ELABORATED OUT OF ORDER");
180 IF OBJECT_ARRAY
(3) /= IDENT_INT
(3) THEN
181 FAILED
("REAL 1 ELABORATED OUT OF ORDER");
184 IF OBJECT_ARRAY
(4) /= IDENT_INT
(4) THEN
185 FAILED
("CHARACTER 1 ELABORATED OUT OF ORDER");
188 IF OBJECT_ARRAY
(5) /= IDENT_INT
(5) THEN
189 FAILED
("ENUMERATION 1 ELABORATED OUT OF ORDER");
192 IF OBJECT_ARRAY
(6) /= IDENT_INT
(6) THEN
193 FAILED
("ARRAY 1 ELABORATED OUT OF ORDER");
196 IF OBJECT_ARRAY
(7) /= IDENT_INT
(7) THEN
197 FAILED
("RECORD 1 ELABORATED OUT OF ORDER");
200 IF OBJECT_ARRAY
(8) /= IDENT_INT
(8) THEN
201 FAILED
("BOOLEAN 2 ELABORATED OUT OF ORDER");
204 IF OBJECT_ARRAY
(9) /= IDENT_INT
(9) THEN
205 FAILED
("INTEGER 2 ELABORATED OUT OF ORDER");
208 IF OBJECT_ARRAY
(10) /= IDENT_INT
(10) THEN
209 FAILED
("REAL 2 ELABORATED OUT OF ORDER");
212 IF OBJECT_ARRAY
(11) /= IDENT_INT
(11) THEN
213 FAILED
("CHARACTER 2 ELABORATED OUT OF ORDER");
216 IF OBJECT_ARRAY
(12) /= IDENT_INT
(12) THEN
217 FAILED
("ENUMERATION 2 ELABORATED OUT OF ORDER");
220 IF OBJECT_ARRAY
(13) /= IDENT_INT
(13) THEN
221 FAILED
("ARRAY 2 ELABORATED OUT OF ORDER");
224 IF OBJECT_ARRAY
(14) /= IDENT_INT
(14) THEN
225 FAILED
("RECORD 2 ELABORATED OUT OF ORDER");