WITH REPORT;
USE REPORT;
WITH TEXT_IO;
USE TEXT_IO;
PROCEDURE CE3104A IS
INCOMPLETE, SUBTEST : EXCEPTION;
FILE, FT : FILE_TYPE;
ONE : CONSTANT POSITIVE_COUNT := POSITIVE_COUNT(IDENT_INT(1));
CHAR : CHARACTER;
BEGIN
TEST ("CE3104A" , "CHECK THAT COLUMN, LINE, AND " &
"PAGE NUMBERS ARE ONE AFTER A " &
"CREATE, OPEN, OR RESET");
BEGIN
CREATE (FILE, OUT_FILE, LEGAL_FILE_NAME);
EXCEPTION
WHEN USE_ERROR =>
NOT_APPLICABLE ("USE_ERROR RAISED; TEXT CREATE " &
"WITH OUT_FILE MODE");
RAISE INCOMPLETE;
WHEN NAME_ERROR =>
NOT_APPLICABLE ("NAME_ERROR RAISED; TEXT CREATE " &
"WITH OUT_FILE MODE");
RAISE INCOMPLETE;
WHEN OTHERS =>
FAILED ("UNEXPECTED EXCEPTION RAISED; TEXT CREATE " &
"WITH OUT_FILE MODE");
RAISE INCOMPLETE;
END;
IF COL (FILE) /= ONE THEN
FAILED ("INCORRECT RESULTS FROM COLUMN AFTER CREATE");
END IF;
IF LINE (FILE) /= ONE THEN
FAILED ("INCORRECT RESULTS FROM LINE AFTER CREATE");
END IF;
IF PAGE (FILE) /= ONE THEN
FAILED ("INCORRECT RESULTS FROM PAGE AFTER CREATE");
END IF;
NEW_PAGE (FILE);
NEW_LINE (FILE);
PUT (FILE, "STRING");
CLOSE (FILE);
BEGIN
BEGIN
OPEN (FILE, IN_FILE, LEGAL_FILE_NAME);
EXCEPTION
WHEN USE_ERROR =>
RAISE SUBTEST;
END;
IF COL (FILE) /= ONE THEN
FAILED ("INCORRECT RESULTS FROM COLUMN AFTER " &
"OPEN - IN_FILE");
END IF;
IF LINE (FILE) /= ONE THEN
FAILED ("INCORRECT RESULTS FROM LINE AFTER " &
"OPEN - IN_FILE");
END IF;
IF PAGE (FILE) /= ONE THEN
FAILED ("INCORRECT RESULTS FROM PAGE AFTER " &
"OPEN - IN_FILE");
END IF;
GET (FILE, CHAR);
BEGIN
RESET (FILE);
EXCEPTION
WHEN USE_ERROR =>
CLOSE (FILE);
RAISE SUBTEST;
END;
IF COL (FILE) /= ONE THEN
FAILED ("INCORRECT RESULTS FROM COLUMN AFTER RESET");
END IF;
IF LINE (FILE) /= ONE THEN
FAILED ("INCORRECT RESULTS FROM LINE AFTER RESET");
END IF;
IF PAGE (FILE) /= ONE THEN
FAILED ("INCORRECT RESULTS FROM PAGE AFTER RESET");
END IF;
GET (FILE, CHAR);
BEGIN
RESET (FILE,OUT_FILE);
EXCEPTION
WHEN USE_ERROR =>
CLOSE (FILE);
RAISE SUBTEST;
END;
IF COL (FILE) /= ONE THEN
FAILED ("INCORRECT RESULTS FROM COLUMN AFTER RESET " &
"TO OUT_FILE");
END IF;
IF LINE (FILE) /= ONE THEN
FAILED ("INCORRECT RESULTS FROM LINE AFTER RESET " &
"TO OUT_FILE");
END IF;
IF PAGE (FILE) /= ONE THEN
FAILED ("INCORRECT RESULTS FROM PAGE AFTER RESET " &
"TO OUT_FILE");
END IF;
CLOSE (FILE);
EXCEPTION
WHEN SUBTEST =>
NULL;
END;
BEGIN
BEGIN
OPEN (FILE, OUT_FILE, LEGAL_FILE_NAME);
EXCEPTION
WHEN USE_ERROR =>
RAISE SUBTEST;
END;
IF COL (FILE) /= ONE THEN
FAILED ("INCORRECT RESULTS FROM COLUMN AFTER OPEN " &
"TO OUT_FILE");
END IF;
IF LINE (FILE) /= ONE THEN
FAILED ("INCORRECT RESULTS FROM LINE AFTER OPEN " &
"TO OUT_FILE");
END IF;
IF PAGE (FILE) /= ONE THEN
FAILED ("INCORRECT RESULTS FROM PAGE AFTER OPEN " &
"TO OUT_FILE");
END IF;
EXCEPTION
WHEN SUBTEST =>
NULL;
END;
BEGIN
BEGIN
CREATE (FT, IN_FILE);
EXCEPTION
WHEN USE_ERROR =>
RAISE SUBTEST;
END;
IF COL (FILE) /= ONE THEN
FAILED ("INCORRECT RESULTS FROM COLUMN AFTER CREATE " &
"IN IN_FILE");
END IF;
IF LINE (FILE) /= ONE THEN
FAILED ("INCORRECT RESULTS FROM LINE AFTER CREATE " &
"IN IN_FILE");
END IF;
IF PAGE (FILE) /= ONE THEN
FAILED ("INCORRECT RESULTS FROM PAGE AFTER CREATE " &
"IN IN_FILE");
END IF;
CLOSE (FT);
EXCEPTION
WHEN SUBTEST =>
NULL;
END;
BEGIN
DELETE (FILE);
EXCEPTION
WHEN USE_ERROR =>
NULL;
END;
RESULT;
EXCEPTION
WHEN INCOMPLETE =>
RESULT;
END CE3104A;