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 FIXED I/O GET CAN READ A VALUE FROM A STRING.
27 -- CHECK THAT END_ERROR IS RAISED WHEN CALLED WITH A NULL STRING
28 -- OR A STRING CONTAINING SPACES AND/OR HORIZONTAL TABULATION
29 -- CHARACTERS. CHECK THAT LAST CONTAINS THE INDEX OF THE LAST
30 -- CHARACTER READ FROM THE STRING.
36 -- DWC 09/15/87 ADDED CASE TO INCLUDE ONLY TABS IN STRING AND
37 -- CHECKED THAT END_ERROR IS RAISED.
39 WITH REPORT
; USE REPORT
;
40 WITH TEXT_IO
; USE TEXT_IO
;
45 TEST
("CE3809B", "CHECK THAT FIXED_IO GET " &
46 "OPERATES CORRECTLY ON STRINGS");
49 TYPE FX
IS DELTA 0.001 RANGE -2.0 .. 1000.0;
50 PACKAGE FXIO
IS NEW FIXED_IO
(FX
);
54 STR
: STRING (1..10) := " 10.25 ";
57 -- LEFT-JUSTIFIED IN STRING, POSITIVE, NO EXPONENT
61 FAILED
("FIXED VALUE FROM STRING INCORRECT");
65 FAILED
("DATA_ERROR RAISED - FIXED - 1");
67 FAILED
("UNEXPECTED EXCEPTION RAISED - FIXED - 1");
70 IF L
/= IDENT_INT
(5) THEN
71 FAILED
("VALUE OF LAST INCORRECT - FIXED - 1. " &
72 "LAST IS" & INTEGER'IMAGE(L
));
75 -- STRING LITERAL WITH BLANKS
78 FAILED
("END_ERROR NOT RAISED - FIXED - 2");
82 FAILED
("AFTER END_ERROR, VALUE OF LAST " &
83 "INCORRECT - 2. LAST IS" &
87 FAILED
("DATA_ERROR RAISED - FIXED - 2");
89 FAILED
("WRONG EXCEPTION RAISED - FIXED - 2");
92 -- NULL STRING LITERAL
95 FAILED
("END_ERROR NOT RAISED - FIXED - 3");
99 FAILED
("AFTER END_ERROR, VALUE OF LAST " &
100 "INCORRECT - 3. LAST IS" &
104 FAILED
("DATA_ERROR RAISED - FIXED - 3");
106 FAILED
("WRONG EXCEPTION RAISED - FIXED - 3");
111 GET
(STR
(5..IDENT_INT
(2)), X
, L
);
112 FAILED
("END_ERROR NOT RAISED - FIXED - 4");
116 FAILED
("AFTER END_ERROR, VALUE OF LAST " &
117 "INCORRECT - 4. LAST IS" &
121 FAILED
("DATA_ERROR RAISED - FIXED - 4");
123 FAILED
("WRONG EXCEPTION RAISED - FIXED - 4");
128 GET
(STR
(IDENT_INT
(9)..10), X
, L
);
129 FAILED
("END_ERROR NOT RAISED - FIXED - 5");
132 IF L
/= IDENT_INT
(5) THEN
133 FAILED
("AFTER END_ERROR, VALUE OF LAST " &
134 "INCORRECT - 5. LAST IS" &
138 FAILED
("DATA_ERROR RAISED - FIXED - 5");
140 FAILED
("WRONG EXCEPTION RAISED - FIXED - 5");
145 GET
(STR
(2..IDENT_INT
(8)), X
, L
);
147 FAILED
("FIXED VALUE INCORRECT - 6");
150 FAILED
("LAST INCORRECT FOR SLICE - 6. " &
151 "LAST IS" & INTEGER'IMAGE(L
));
155 FAILED
("EXCEPTION RAISED - 6");
158 -- LEFT-JUSTIFIED, POSITIVE EXPONENT
160 GET
("1.34E+02", X
, L
);
162 FAILED
("FIXED WITH EXP FROM STRING INCORRECT - 7");
166 FAILED
("VALUE OF LAST INCORRECT - FIXED - 7. " &
167 "LAST IS" & INTEGER'IMAGE(L
));
171 FAILED
("DATA_EROR RAISED - FIXED - 7");
173 FAILED
("UNEXPECTED EXCEPTION RAISED - FIXED - 7");
176 -- RIGHT-JUSTIFIED, NEGATIVE EXPONENT
178 GET
(" 25.0E-2", X
, L
);
180 FAILED
("NEG EXPONENT INCORRECT - 8");
183 FAILED
("LAST INCORRECT - 8. " &
184 "LAST IS" & INTEGER'IMAGE(L
));
188 FAILED
("EXCEPTION RAISED - 8");
191 -- RIGHT-JUSTIFIED, NEGATIVE
192 GET
(" -1.50", X
, L
);
194 FAILED
("FIXED IN RIGHT JUSTIFIED STRING INCORRECT - 9");
197 FAILED
("LAST INCORRECT - 9. " &
198 "LAST IS" & INTEGER'IMAGE(L
));
201 -- HORIZONTAL TAB WITH BLANK
203 GET
(" " & ASCII
.HT
& "2.3E+2", X
, L
);
205 FAILED
("FIXED WITH TAB IN STRING INCORRECT - 10");
208 FAILED
("LAST INCORRECT FOR TAB - 10. " &
209 "LAST IS" & INTEGER'IMAGE(L
));
213 FAILED
("DATA_ERROR FOR STRING WITH TAB - 10");
215 FAILED
("EXCEPTION FOR STRING WITH TAB - 10");
218 -- HORIZONTAL TABS ONLY
221 GET
(ASCII
.HT
& ASCII
.HT
, X
, L
);
222 FAILED
("END_ERROR NOT RAISED - FIXED - 11");
225 IF L
/= IDENT_INT
(8) THEN
226 FAILED
("AFTER END_ERROR, VALUE OF LAST " &
227 "INCORRECT - 11. LAST IS" &
231 FAILED
("DATA_ERROR RAISED - FIXED - 11");
233 FAILED
("WRONG EXCEPTION RAISED - FIXED - 11");