1-- CE2201D.DEP 2 3-- Grant of Unlimited Rights 4-- 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 14-- to do so. 15-- 16-- DISCLAIMER 17-- 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. 24--* 25-- OBJECTIVE: 26-- CHECK WHETHER READ, WRITE, AND END_OF_FILE ARE SUPPORTED FOR 27-- SEQUENTIAL FILES WITH ELEMENT_TYPE UNCONSTRAINED ARRAY. 28 29-- IF I/O IS NOT SUPPORTED, THEN CREATE AND OPEN CAN RAISE USE_ERROR 30-- OR NAME_ERROR. SEE (AI-00332). 31 32-- APPLICABILITY CRITERIA: 33-- THIS TEST IS NON-APPLICABLE IF THE INSTANTIATION OF SEQUENTIAL_IO 34-- WITH UNCONSTRAINED ARRAY TYPE, ARR_UNCN, IS NOT SUPPORTED. 35 36-- IF THE INSTANTIATION OF SEQUENTIAL_IO IS NOT SUPPORTED THEN 37-- THE INSTANTIATION MUST BE REJECTED. 38 39-- HISTORY: 40-- ABW 8/17/82 41-- SPS 9/15/82 42-- SPS 11/9/82 43-- JBG 1/6/83 44-- JBG 6/4/84 45-- TBN 11/01/85 RENAMED FROM CE2201D.DEP AND MODIFIED COMMENTS. 46-- TBN 11/04/86 REVISED TEST TO OUTPUT A NON_APPLICABLE 47-- RESULT WHEN FILES ARE NOT SUPPORTED. 48-- THS 03/30/90 RENAMED FROM EE2201D.ADA. 49 50WITH REPORT; USE REPORT; 51WITH SEQUENTIAL_IO; 52 53PROCEDURE CE2201D IS 54 INCOMPLETE : EXCEPTION; 55BEGIN 56 57 TEST ("CE2201D" , "CHECK WHETHER READ, WRITE, AND END_OF_FILE " & 58 "ARE SUPPORTED FOR SEQUENTIAL FILES WITH " & 59 "UNCONSTRAINED ARRAY TYPES"); 60 61 DECLARE 62 SUBTYPE ONE_TEN IS INTEGER RANGE 1..10; 63 TYPE ARR_UNCN IS ARRAY (ONE_TEN RANGE <>) OF INTEGER; 64 PACKAGE SEQ_ARR_UNCN 65 IS NEW SEQUENTIAL_IO (ARR_UNCN); -- N/A => ERROR. 66 USE SEQ_ARR_UNCN; 67 FILE_ARR_UNCN : FILE_TYPE; 68 ARR2 : ARR_UNCN (1..6) := (1,3,5,7,9,0); 69 ITEM_ARR2 : ARR_UNCN (1..6); 70 BEGIN 71 BEGIN 72 CREATE (FILE_ARR_UNCN); 73 74 EXCEPTION 75 WHEN USE_ERROR => 76 NOT_APPLICABLE ("USE_ERROR RAISED; SEQUENTIAL " & 77 "CREATE"); 78 RAISE INCOMPLETE; 79 WHEN NAME_ERROR => 80 NOT_APPLICABLE ("NAME_ERROR RAISED; SEQUENTIAL " & 81 "CREATE"); 82 RAISE INCOMPLETE; 83 WHEN OTHERS => 84 FAILED ("UNEXPECTED EXCEPTION RAISED; SEQUENTIAL " & 85 "CREATE"); 86 RAISE INCOMPLETE; 87 END; 88 89 BEGIN 90 WRITE (FILE_ARR_UNCN,ARR2); 91 WRITE (FILE_ARR_UNCN, (0, -2)); 92 93 EXCEPTION 94 WHEN OTHERS => 95 FAILED ("WRITE FOR UNCONSTRAINED ARRAY"); 96 END; 97 98 RESET (FILE_ARR_UNCN,IN_FILE); 99 100 IF END_OF_FILE (FILE_ARR_UNCN) THEN 101 FAILED ("WRONG END_OF_FILE VALUE FOR " & 102 "UNCONSTRAINED ARRAY"); 103 END IF; 104 105 BEGIN 106 READ (FILE_ARR_UNCN,ITEM_ARR2); 107 108 EXCEPTION 109 WHEN OTHERS => 110 FAILED ("READ FOR UNCONSTRAINED ARRAY"); 111 END; 112 113 IF ITEM_ARR2 /= (1,3,5,7,9,0) THEN 114 FAILED ("READ WRONG VALUE - 1"); 115 END IF; 116 117 BEGIN 118 READ (FILE_ARR_UNCN, ITEM_ARR2(3..4)); 119 120 IF ITEM_ARR2 /= (1,3,0,-2,9,0) THEN 121 FAILED ("READ WRONG VALUE - 2"); 122 END IF; 123 EXCEPTION 124 WHEN OTHERS => 125 FAILED ("EXCEPTION FOR SECOND ARRAY READ"); 126 END; 127 128 IF NOT END_OF_FILE(FILE_ARR_UNCN) THEN 129 FAILED ("NOT AT END OF FILE"); 130 END IF; 131 132 CLOSE (FILE_ARR_UNCN); 133 134 EXCEPTION 135 WHEN USE_ERROR => 136 NOT_APPLICABLE ("USE_ERROR RAISED BY RESET"); 137 END; 138 139 RESULT; 140 141EXCEPTION 142 WHEN INCOMPLETE => 143 RESULT; 144 145END CE2201D; 146