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.
25 -- CHECK THAT RECORD ASSIGNMENTS USE "COPY" SEMANTICS. (PART I).
28 -- FACTORS AFFECTING THE SITUATION TO BE TESTED:
30 -- COMPONENT TYPE * INTEGER
31 -- * BOOLEAN (OMITTED)
32 -- * CHARACTER (OMITTED)
33 -- * USER-DEFINED ENUMERATION
35 -- DERIVED VS. NON-DERIVED
39 -- ORDER OF COMPONENT ASSIGNMENTS * LEFT-TO-RIGHT
53 TYPE ENUM
IS ( AA
, BB
, CC
, DD
, EE
, FF
, GG
, HH
,
54 II
, JJ
, KK
, LL
, MM
, NN
, PP
, QQ
,
55 TT
, UU
, VV
, WW
, XX
, YY
);
59 TEST
( "C52010A" , "CHECK THAT RECORD ASSIGNMENTS USE ""COPY""" &
72 R
:= ( X
=> 1 , Y
=> R
.X
) ;
73 IF R
/= ( 1 , 5 ) THEN
74 FAILED
( "WRONG VALUE (1)" );
78 R
:= ( Y
=> 1 , X
=> R
.Y
) ;
79 IF R
/= ( 8 , 1 ) THEN
80 FAILED
( "WRONG VALUE (2)" );
84 R
:= ( R
.Y
+1 , R
.X
+1 ) ;
85 IF R
/= ( 9 , 6 ) THEN
86 FAILED
( "WRONG VALUE (3)" );
109 R
:= ( 0 , ((5, 1 ), 2 ));
110 R
:= ( R
.YZ
.MODERATE
+8, ((7, R
.SHALLOW
+1),R
.YZ
.YX
.DEEP
+99));
111 IF R
/= ( 10, ((7, 1), 100))
113 FAILED
( "WRONG VALUE (4)" );
119 TYPE SUB_ENUM
IS NEW ENUM
RANGE AA
..DD
;
127 R
:= ( X
=> BB
, Y
=> R
.X
) ;
128 IF R
/= ( BB
, AA
) THEN
129 FAILED
( "WRONG VALUE (5)" );
133 R
:= ( Y
=> BB
, X
=> R
.Y
) ;
134 IF R
/= ( CC
, BB
) THEN
135 FAILED
( "WRONG VALUE (6)" );
139 R
:= ( SUB_ENUM
'SUCC( R
.Y
) , SUB_ENUM
'SUCC( R
.X
) ) ;
140 IF R
/= ( DD
, BB
) THEN
141 FAILED
( "WRONG VALUE (7)" );
170 R
:= ( ENUM
'SUCC(ENUM
'SUCC( R
.YZ
.MODERATE
)) ,
171 (( AA
, ENUM
'SUCC( R
.SHALLOW
) ) ,
172 ( ENUM
'SUCC(ENUM
'SUCC(ENUM
'SUCC(ENUM
'SUCC(
173 R
.YZ
.YX
.DEEP
)))) ) ) ) ;
179 FAILED
( "WRONG VALUE (8)" );