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 ATTRIBUTES 'IMAGE' AND 'VALUE' YIELD THE CORRECT
27 -- RESULTS WHEN THE PREFIX IS A CHARACTER TYPE.
29 -- (A). TESTS FOR IMAGE.
30 -- (B). TESTS FOR VALUE.
33 -- RJW 05/29/86 CREATED ORIGINAL TEST.
34 -- BCB 08/18/87 CHANGED HEADER TO STANDARD HEADER FORMAT.
35 -- CORRECTED ERROR MESSAGES AND ADDED CALLS TO
38 WITH REPORT
; USE REPORT
;
42 TYPE CHAR
IS ('A', 'a');
44 TYPE NEWCHAR
IS NEW CHAR
;
46 FUNCTION IDENT
(CH
: CHAR
) RETURN CHAR
IS
48 RETURN CHAR
'VAL (IDENT_INT
(CHAR
'POS (CH
)));
51 FUNCTION IDENT
(CH
: NEWCHAR
) RETURN NEWCHAR
IS
53 RETURN NEWCHAR
'VAL (IDENT_INT
(NEWCHAR
'POS (CH
)));
56 PROCEDURE CHECK_BOUND
(STR1
, STR2
: STRING) IS
58 IF STR1
'FIRST /= 1 THEN
59 FAILED
( "INCORRECT LOWER BOUND FOR " & STR2
&
60 "'IMAGE ('" & STR1
& "')" );
66 TEST
( "C35507C" , "CHECK THAT THE ATTRIBUTES 'IMAGE' AND " &
67 "'VALUE' YIELD THE CORRECT RESULTS WHEN THE " &
68 "PREFIX IS A CHARACTER TYPE" );
71 IF CHAR
'IMAGE ('A') /= "'A'" THEN
72 FAILED
( "INCORRECT IMAGE FOR CHAR'('A')" );
75 CHECK_BOUND
(CHAR
'IMAGE ('A'), "CHAR");
77 IF CHAR
'IMAGE ('a') /= "'a'" THEN
78 FAILED
( "INCORRECT IMAGE FOR CHAR'('a')" );
81 CHECK_BOUND
(CHAR
'IMAGE ('a'), "CHAR");
83 IF NEWCHAR
'IMAGE ('A') /= "'A'" THEN
84 FAILED
( "INCORRECT IMAGE FOR NEWCHAR'('A')" );
87 CHECK_BOUND
(NEWCHAR
'IMAGE ('A'), "NEWCHAR");
89 IF NEWCHAR
'IMAGE ('a') /= "'a'" THEN
90 FAILED
( "INCORRECT IMAGE FOR NEWCHAR'('a')" );
93 CHECK_BOUND
(NEWCHAR
'IMAGE ('a'), "NEWCHAR");
95 IF CHAR
'IMAGE (IDENT
('A')) /= "'A'" THEN
96 FAILED
( "INCORRECT IMAGE FOR CHAR'( IDENT ('A'))" );
99 CHECK_BOUND
(CHAR
'IMAGE (IDENT
('A')), "IDENT OF CHAR");
101 IF CHAR
'IMAGE (IDENT
('a')) /= "'a'" THEN
102 FAILED
( "INCORRECT IMAGE FOR CHAR'( IDENT ('a'))" );
105 CHECK_BOUND
(CHAR
'IMAGE (IDENT
('a')), "IDENT OF CHAR");
107 IF NEWCHAR
'IMAGE (IDENT
('A')) /= "'A'" THEN
108 FAILED
( "INCORRECT IMAGE FOR NEWCHAR'( IDENT ('A'))" );
111 CHECK_BOUND
(NEWCHAR
'IMAGE (IDENT
('A')), "IDENT OF NEWCHAR");
113 IF NEWCHAR
'IMAGE (IDENT
('a')) /= "'a'" THEN
114 FAILED
( "INCORRECT IMAGE FOR NEWCHAR'( IDENT ('a'))" );
117 CHECK_BOUND
(NEWCHAR
'IMAGE (IDENT
('a')), "IDENT OF NEWCHAR");
119 FOR CH
IN CHARACTER'VAL (32) .. CHARACTER'VAL (126) LOOP
120 IF CHARACTER'IMAGE (CH
) /= ("'" & CH
) & "'" THEN
121 FAILED
( "INCORRECT IMAGE FOR CHARACTER'(" &
125 CHECK_BOUND
(CHARACTER'IMAGE (CH
), "CHARACTER");
129 FOR CH
IN CHARACTER'VAL (0) .. CHARACTER'VAL (31) LOOP
130 CHECK_BOUND
(CHARACTER'IMAGE (CH
), "CHARACTER");
133 CHECK_BOUND
(CHARACTER'IMAGE (CHARACTER'VAL (127)),
138 ---------------------------------------------------------------
142 SUBTYPE SUBCHAR
IS CHARACTER
143 RANGE CHARACTER'VAL (127) .. CHARACTER'VAL (127);
145 FOR CH
IN CHARACTER'VAL (32) .. CHARACTER'VAL (126) LOOP
146 IF SUBCHAR
'VALUE (("'" & CH
) & "'") /= CH
THEN
147 FAILED
( "INCORRECT SUBCHAR'VALUE FOR " & CH
);
151 FOR CH
IN CHARACTER'VAL (0) .. CHARACTER'VAL (31) LOOP
152 IF SUBCHAR
'VALUE (CHARACTER'IMAGE (CH
)) /= CH
THEN
153 FAILED
( "INCORRECT SUBCHAR'VALUE FOR " &
154 CHARACTER'IMAGE (CH
) );
158 IF SUBCHAR
'VALUE (CHARACTER'IMAGE (CHARACTER'VAL (127))) /=
159 CHARACTER'VAL (127) THEN
160 FAILED
( "INCORRECT SUBCHAR'VALUE FOR " &
161 "CHARACTER'VAL (127)" );
166 IF CHAR
'VALUE ("'A'") /= 'A' THEN
167 FAILED
( "INCORRECT VALUE FOR CHAR'(""'A'"")" );
170 IF CHAR
'VALUE ("'a'") /= 'a' THEN
171 FAILED
( "INCORRECT VALUE FOR CHAR'(""'a'"")" );
174 IF NEWCHAR
'VALUE ("'A'") /= 'A' THEN
175 FAILED
( "INCORRECT VALUE FOR NEWCHAR'(""'A'"")" );
178 IF NEWCHAR
'VALUE ("'a'") /= 'a' THEN
179 FAILED
( "INCORRECT VALUE FOR NEWCHAR'(""'a'"")" );
184 IF CHAR
'VALUE (IDENT_STR
("'A'")) /= 'A' THEN
185 FAILED
( "INCORRECT VALUE FOR CHAR'(IDENT_STR" &
189 IF CHAR
'VALUE (IDENT_STR
("'a'")) /= 'a' THEN
190 FAILED
( "INCORRECT VALUE FOR CHAR'(IDENT_STR" &
194 IF NEWCHAR
'VALUE (IDENT_STR
("'A'")) /= 'A' THEN
195 FAILED
( "INCORRECT VALUE FOR NEWCHAR'(IDENT_STR" &
199 IF NEWCHAR
'VALUE (IDENT_STR
("'a'")) /= 'a' THEN
200 FAILED
( "INCORRECT VALUE FOR NEWCHAR'(IDENT_STR" &
206 IF CHAR
'VALUE (IDENT_STR
("'B'")) = 'A' THEN
207 FAILED
( "NO EXCEPTION RAISED " &
208 "FOR CHAR'VALUE (IDENT_STR (""'B'"")) - 1" );
210 FAILED
( "NO EXCEPTION RAISED " &
211 "FOR CHAR'VALUE (IDENT_STR (""'B'"")) - 2" );
214 WHEN CONSTRAINT_ERROR
=>
217 FAILED
( "WRONG EXCEPTION RAISED " &
218 "FOR CHAR'VALUE (IDENT_STR (""'B'""))" );
222 IF CHARACTER'VALUE (IDENT_CHAR
(ASCII
.HT
) & "'A'") = 'A' THEN
223 FAILED
( "NO EXCEPTION RAISED FOR " &
225 "(IDENT_CHAR (ASCII.HT) & ""'A'"") - 1" );
227 FAILED
( "NO EXCEPTION RAISED FOR " &
229 "(IDENT_CHAR (ASCII.HT) & ""'A'"") - 2" );
232 WHEN CONSTRAINT_ERROR
=>
235 FAILED
( "WRONG EXCEPTION RAISED " &
236 "FOR CHARACTER'VALUE " &
237 "(IDENT_CHAR (ASCII.HT) & ""'A'"")" );
241 IF CHARACTER'VALUE ("'B'" & IDENT_CHAR
(ASCII
.HT
)) = 'B' THEN
242 FAILED
( "NO EXCEPTION RAISED FOR " &
243 "CHARACTER'VALUE (""'B'"" & " &
244 "IDENT_CHAR (ASCII.HT)) - 1" );
246 FAILED
( "NO EXCEPTION RAISED FOR " &
247 "CHARACTER'VALUE (""'B'"" & " &
248 "IDENT_CHAR (ASCII.HT)) - 2" );
251 WHEN CONSTRAINT_ERROR
=>
254 FAILED
( "WRONG EXCEPTION RAISED " &
255 "FOR CHARACTER'VALUE (""'B'"" & " &
256 "IDENT_CHAR (ASCII.HT)) " );
260 IF CHARACTER'VALUE ("'C'" & IDENT_CHAR
(ASCII
.BEL
)) = 'C'
262 FAILED
( "NO EXCEPTION RAISED FOR " &
263 "CHARACTER'VALUE (""'C'"" & " &
264 "IDENT_CHAR (ASCII.BEL)) - 1" );
266 FAILED
( "NO EXCEPTION RAISED FOR " &
267 "CHARACTER'VALUE (""'C'"" & " &
268 "IDENT_CHAR (ASCII.BEL)) - 2" );
271 WHEN CONSTRAINT_ERROR
=>
274 FAILED
( "WRONG EXCEPTION RAISED " &
275 "FOR CHARACTER'VALUE (""'C'"" & " &
276 "IDENT_CHAR (ASCII.BEL))" );
280 IF CHARACTER'VALUE (IDENT_STR
("'")) = ''' THEN
281 FAILED
( "NO EXCEPTION RAISED FOR " &
282 "CHARACTER'VALUE (IDENT_STR (""'"")) - 1" );
284 FAILED
( "NO EXCEPTION RAISED FOR " &
285 "CHARACTER'VALUE (IDENT_STR (""'"")) - 2" );
288 WHEN CONSTRAINT_ERROR
=>
291 FAILED
( "WRONG EXCEPTION RAISED " &
292 "FOR CHARACTER'VALUE (IDENT_STR (""'""))" );
296 IF CHARACTER'VALUE (IDENT_STR
("''")) = ''' THEN
297 FAILED
( "NO EXCEPTION RAISED FOR " &
298 "CHARACTER'VALUE (IDENT_STR (""''"")) - 1" );
300 FAILED
( "NO EXCEPTION RAISED FOR " &
301 "CHARACTER'VALUE (IDENT_STR (""''"")) - 2" );
304 WHEN CONSTRAINT_ERROR
=>
307 FAILED
( "WRONG EXCEPTION RAISED " &
308 "FOR CHARACTER'VALUE (IDENT_STR (""''""))" );
312 IF CHARACTER'VALUE (IDENT_STR
("'A")) = 'A' THEN
313 FAILED
( "NO EXCEPTION RAISED FOR " &
314 "CHARACTER'VALUE (IDENT_STR (""'A"")) - 1" );
316 FAILED
( "NO EXCEPTION RAISED FOR " &
317 "CHARACTER'VALUE (IDENT_STR (""'A"")) - 2" );
320 WHEN CONSTRAINT_ERROR
=>
323 FAILED
( "WRONG EXCEPTION RAISED " &
324 "FOR CHARACTER'VALUE IDENT_STR (""'A""))" );
328 IF CHARACTER'VALUE (IDENT_STR
("A'")) = 'A' THEN
329 FAILED
( "NO EXCEPTION RAISED FOR " &
330 "CHARACTER'VALUE (IDENT_STR (""A'"")) - 1" );
332 FAILED
( "NO EXCEPTION RAISED FOR " &
333 "CHARACTER'VALUE (IDENT_STR (""A'"")) - 2" );
336 WHEN CONSTRAINT_ERROR
=>
339 FAILED
( "WRONG EXCEPTION RAISED " &
340 "FOR CHARACTER'VALUE (IDENT_STR (""A'""))" );
344 IF CHARACTER'VALUE (IDENT_STR
("'AB'")) = 'A' THEN
345 FAILED
( "NO EXCEPTION RAISED FOR " &
346 "CHARACTER'VALUE (IDENT_STR (""'AB'"")) - 1" );
348 FAILED
( "NO EXCEPTION RAISED FOR " &
349 "CHARACTER'VALUE (IDENT_STR (""'AB'"")) - 2" );
352 WHEN CONSTRAINT_ERROR
=>
355 FAILED
( "WRONG EXCEPTION RAISED " &
356 "FOR CHARACTER'VALUE IDENT_STR (""'AB'""))" );