📄 ce2406a.ada
字号:
-- CE2406A.ADA-- Grant of Unlimited Rights---- Under contracts F33600-87-D-0337, F33600-84-D-0280, MDA903-79-C-0687,-- F08630-91-C-0015, and DCA100-97-D-0025, the U.S. Government obtained -- unlimited rights in the software and documentation contained herein.-- Unlimited rights are defined in DFAR 252.227-7013(a)(19). By making -- this public release, the Government intends to confer upon all -- recipients unlimited rights equal to those held by the Government. -- These rights include rights to use, duplicate, release or disclose the -- released technical data and computer software in whole or in part, in -- any manner and for any purpose whatsoever, and to have or permit others -- to do so.---- DISCLAIMER---- ALL MATERIALS OR INFORMATION HEREIN RELEASED, MADE AVAILABLE OR-- DISCLOSED ARE AS IS. THE GOVERNMENT MAKES NO EXPRESS OR IMPLIED -- WARRANTY AS TO ANY MATTER WHATSOEVER, INCLUDING THE CONDITIONS OF THE-- SOFTWARE, DOCUMENTATION OR OTHER INFORMATION RELEASED, MADE AVAILABLE -- OR DISCLOSED, OR THE OWNERSHIP, MERCHANTABILITY, OR FITNESS FOR A-- PARTICULAR PURPOSE OF SAID MATERIAL.--*-- OBJECTIVE:-- FOR A DIRECT ACCESS FILE, CHECK THAT AFTER A READ, THE CURRENT-- READ POSITION IS INCREMENTED BY ONE.-- APPLICABILITY CRITERIA:-- THIS TEST IS APPLICABLE ONLY TO IMPLEMENTATIONS WHICH SUPPORT-- DIRECT_IO FILES.-- HISTORY:-- ABW 08/20/82-- SPS 09/16/82-- SPS 11/09/82-- JBG 02/22/84 CHANGE TO .ADA TEST.-- EG 05/16/85-- TBN 11/04/86 REVISED TEST TO OUTPUT A NON_APPLICABLE-- RESULT WHEN FILES ARE NOT SUPPORTED.-- GMT 08/05/87 REMOVED DEPENDENCE ON RESET AND ADDED CHECK FOR-- USE_ERROR ON DELETE.WITH REPORT; USE REPORT;WITH DIRECT_IO;PROCEDURE CE2406A IS PACKAGE DIR IS NEW DIRECT_IO (INTEGER); USE DIR; FILE1 : FILE_TYPE; INT : INTEGER := IDENT_INT (18); BOOL : BOOLEAN := IDENT_BOOL (TRUE); INT_ITEM1, INT_ITEM2 : INTEGER; INCOMPLETE : EXCEPTION;BEGIN TEST ("CE2406A", "CHECK THAT READ POSITION IS INCREMENTED " & "BY ONE AFTER A READ"); -- CREATE AND INITIALIZE FILE1 BEGIN BEGIN CREATE (FILE1, INOUT_FILE, LEGAL_FILE_NAME); EXCEPTION WHEN NAME_ERROR | USE_ERROR => NOT_APPLICABLE ("NAME_ERROR | USE_ERROR RAISED " & "ON CREATE - 1"); RAISE INCOMPLETE; WHEN OTHERS => FAILED ("WRONG EXCEPTION RAISED ON CREATE - 2"); RAISE INCOMPLETE; END; BEGIN WRITE (FILE1, INT); WRITE (FILE1, 26); WRITE (FILE1, 12); WRITE (FILE1, 19); WRITE (FILE1, INT); WRITE (FILE1, 3); -- BEGIN TEST CLOSE (FILE1); BEGIN OPEN (FILE1, IN_FILE, LEGAL_FILE_NAME); EXCEPTION WHEN USE_ERROR => NOT_APPLICABLE ("USE_ERROR RAISED ON" & "OPEN - 3"); RAISE INCOMPLETE; WHEN OTHERS => FAILED ("WRONG EXCEPTION RAISED ON " & "OPEN - 4"); RAISE INCOMPLETE; END; IF INDEX(FILE1) /= POSITIVE_COUNT (IDENT_INT(1)) THEN FAILED ("INITIAL INDEX VALUE INCORRECT - 5"); ELSE READ (FILE1, INT_ITEM1); IF INDEX(FILE1) /= POSITIVE_COUNT(IDENT_INT(2)) THEN FAILED ("INDEX VALUE NOT INCREMENTED - 6"); ELSE IF INT_ITEM1 /= IDENT_INT(18) THEN FAILED ("READ INCORRECT VALUE - 7"); END IF; READ (FILE1, INT_ITEM1, 4); IF INDEX(FILE1) /= POSITIVE_COUNT (IDENT_INT(5)) THEN FAILED ("INDEX VALUE NOT INCREMENTED " & "WHEN TO IS SPECIFIED - 8"); ELSE IF INT_ITEM1 /= IDENT_INT(19) THEN FAILED ("READ INCORRECT VALUE - 9"); END IF; READ (FILE1, INT_ITEM1); IF INDEX(FILE1) /= POSITIVE_COUNT(IDENT_INT(6)) THEN FAILED ("INDEX VALUE NOT " & "INCREMENTED WHEN " & "LAST - 10"); ELSIF INT_ITEM1 /= IDENT_INT(18) THEN FAILED ("READ INCORRECT " & "IN_FILE VALUE - 11"); END IF; END IF; END IF; END IF; CLOSE (FILE1); BEGIN OPEN (FILE1, INOUT_FILE, LEGAL_FILE_NAME); EXCEPTION WHEN USE_ERROR => NOT_APPLICABLE ("USE_ERROR RAISED ON " & "OPEN - 12"); RAISE INCOMPLETE; WHEN OTHERS => FAILED ("WRONG EXCEPTION RAISED ON " & "OPEN - 13"); RAISE INCOMPLETE; END; IF INDEX(FILE1) /= POSITIVE_COUNT(IDENT_INT(1)) THEN FAILED ("INITIAL INDEX VALUE INCORRECT - 14"); ELSE READ (FILE1, INT_ITEM2); IF INDEX(FILE1) /= POSITIVE_COUNT(IDENT_INT(2)) THEN FAILED ("INDEX VALUE NOT INCREMENTED - 15"); ELSE IF INT_ITEM2 /= IDENT_INT(18) THEN FAILED ("READ INCORRECT VALUE - 16"); END IF; READ (FILE1, INT_ITEM2, 4); IF INDEX (FILE1) /= POSITIVE_COUNT(IDENT_INT(5)) THEN FAILED ("INDEX VALUE NOT INCREMENTED " & "WHEN TO IS SPECIFIED - 17"); ELSE IF INT_ITEM2 /= IDENT_INT(19) THEN FAILED ("INCORRECT VALUE - 18"); END IF; READ (FILE1, INT_ITEM2); IF INDEX(FILE1) /= POSITIVE_COUNT(IDENT_INT(6)) THEN FAILED ("INDEX VALUE NOT " & "INCREMENTED WHEN " & "LAST - INOUT_FILE - 19"); ELSIF INT_ITEM2 /= IDENT_INT(18) THEN FAILED ("READ INCORRECT " & "INOUT_FILE VALUE - 20"); END IF; END IF; END IF; END IF; BEGIN DELETE (FILE1); EXCEPTION WHEN USE_ERROR => NULL; END; END; EXCEPTION WHEN INCOMPLETE => NULL; END; RESULT;END CE2406A;
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -