WITH REPORT;
USE REPORT;
WITH TEXT_IO;
USE TEXT_IO;
PROCEDURE CE3302A IS
INCOMPLETE : EXCEPTION;
FILE : FILE_TYPE;
FIVE : COUNT := COUNT(IDENT_INT(5));
VAR1 : COUNT;
ITEM : CHARACTER := 'A';
BEGIN
TEST ("CE3302A", "CHECK THAT SET_LINE_LENGTH, SET_PAGE_LENGTH, " &
"LINE_LENGTH, AND PAGE_LENGTH RAISE MODE_ERROR " &
"WHEN APPLIED TO A FILE OF MODE IN_FILE");
BEGIN
CREATE (FILE, OUT_FILE, LEGAL_FILE_NAME);
EXCEPTION
WHEN USE_ERROR =>
NOT_APPLICABLE ("USE_ERROR RAISED ON TEXT FILE CREATE");
RAISE INCOMPLETE;
WHEN NAME_ERROR =>
NOT_APPLICABLE ("NAME_ERROR RAISED ON TEXT FILE CREATE");
RAISE INCOMPLETE;
WHEN OTHERS =>
FAILED ("UNEXPECTED EXCEPTION RAISED FOR TEXT CREATE");
RAISE INCOMPLETE;
END;
PUT (FILE, ITEM);
CLOSE (FILE);
BEGIN
OPEN (FILE, IN_FILE, LEGAL_FILE_NAME);
EXCEPTION
WHEN USE_ERROR =>
NOT_APPLICABLE ("USE_ERROR RAISED ON TEXT FILE OPEN");
RAISE INCOMPLETE;
END;
BEGIN
SET_LINE_LENGTH (FILE, FIVE);
FAILED ("MODE_ERROR NOT RAISED - SET_LINE_LENGTH");
EXCEPTION
WHEN MODE_ERROR =>
NULL;
WHEN OTHERS =>
FAILED ("WRONG EXCEPTION RAISED - SET_LINE_LENGTH");
END;
BEGIN
SET_PAGE_LENGTH (FILE, FIVE);
FAILED ("MODE_ERROR NOT RAISED - SET_PAGE_LENGTH");
EXCEPTION
WHEN MODE_ERROR =>
NULL;
WHEN OTHERS =>
FAILED ("WRONG EXCEPTION RAISED - SET_PAGE_LENGTH");
END;
BEGIN
VAR1 := LINE_LENGTH (FILE);
FAILED ("MODE_ERROR NOT RAISED - LINE_LENGTH");
EXCEPTION
WHEN MODE_ERROR =>
NULL;
WHEN OTHERS =>
FAILED ("WRONG EXCEPTION RAISED - LINE_LENGTH");
END;
BEGIN
VAR1 := PAGE_LENGTH (FILE);
FAILED ("MODE_ERROR NOT RAISED - PAGE_LENGTH");
EXCEPTION
WHEN MODE_ERROR =>
NULL;
WHEN OTHERS =>
FAILED ("WRONG EXCEPTION RAISED - PAGE_LENGTH");
END;
BEGIN
DELETE (FILE);
EXCEPTION
WHEN USE_ERROR =>
NULL;
END;
RESULT;
EXCEPTION
WHEN INCOMPLETE =>
RESULT;
END CE3302A;