PROGRAM FILE 112: EXCEPTION - INPUT-REPLY INCONSISTENT WITH
        INPUT VARIABLE-LIST.
    ANSI STANDARD 13.4, 13.5, 3.2, 5.2

SECTION 112.1: EXCEPTION - INPUT-REPLY INCONSISTENT WITH
        INPUT VARIABLE-LIST.

PLEASE ENTER YOUR INPUT-REPLIES EXACTLY AS REQUESTED
BY THE PROMPT, INCLUDING ALL SPACING, COMMAS AND OTHER
PUNCTUATION.

 - EXCEPT - WHEREVER THE PROMPT CONTAINS AN EQUALS (=)
SUBSTITUTE A BLANK SPACE, AND WHEREVER THE PROMPT
CONTAINS THE NUMBER-SIGN (#) SUBSTITUTE A QUOTE.
THUS, THE PROMPT:
             ==#ER#==
SHOULD CAUSE YOU TO STRIKE THE KEYS:
  1. SPACE
  2. SPACE
  3. QUOTE
  4. LETTER E
  5. LETTER R
  6. QUOTE
  7. SPACE
  8. SPACE

THESE CONVENTIONS ARE NECESSARY BECAUSE THE QUOTE IS
UNPRINTABLE IN MINIMAL BASIC, AND SPACES ARE DIFFICULT
TO COUNT ON A TERMINAL.

AFTER ENTERING THE REQUESTED REPLY, THE PROCESSOR SHOULD
REPORT AN EXCEPTION OF THE KIND INDICATED IN THE PROMPT.
(ALTHOUGH SOME RESPONSES MAY VALIDLY CAUSE ONE OF SEVERAL
DIFFERENT KINDS OF EXCEPTION TO BE REPORTED BY THE SYSTEM.)

YOU SHOULD THEN BE GIVEN A CHANCE TO RE-SUPPLY INPUT AND
SHOULD REPLY WITH AS MANY ZEROS AS INDICATED IN THE PROMPT.
(E.G., FOR 3 ITEMS, RESPOND: 0,0,0 TO BYPASS EXCEPTION.)

*** IF NOT ALLOWED TO RE-SUPPLY INPUT, TEST FAILS ***

IF THE PROCESSOR ACCEPTS AN INPUT-REPLY, IT FAILS THE
TEST UNLESS 1) IT HAS A DOCUMENTED ENHANCED DEFINITION OF
NUMERIC-CONSTANT, UNQUOTED-STRING, QUOTED-STRING, OR
INPUT-REPLY SUCH AS TO RENDER MEANINGFUL A PARTICULAR
NON-STANDARD RESPONSE, OR 2) ITS DOCUMENTED IMPLEMENTATION-
DEFINED LIMITS FOR OVERFLOW (STRING OR NUMERIC) EXCEED
THE MINIMUM LIMITS ESTABLISHED BY THE STANDARD.
NOT ALL THE INPUT-REPLIES ARE NON-STANDARD, BUT THEY
SHOULD ALL CAUSE EXCEPTIONS, SAVE AS NOTED ABOVE.

FOR USER CONVENIENCE, THE STRING TO BE ENTERED IS INDENTED
TWO SPACES, SO THAT IF THE INPUT-PROMPT OCCUPIES TWO
POSITIONS, AS RECOMMENDED, YOUR INPUT-REPLY WILL BE
ALIGNED WITH THE PROMPT STRING.

                 BEGIN TEST


STATEMENT FOR THIS INPUT-REPLY: INPUT A$,B$,C$
EXCEPTION: TOO MUCH DATA; SHOULD BE  3  ITEM(S).
PLEASE ENTER:
  M,M,M,M
? M,M,M,M
*** Count Mismatch ***
*** Retry INPUT ***
? 0,0,0
ITEM# 1 :0
ITEM# 2 :0
ITEM# 3 :0
TEST OK.


STATEMENT FOR THIS INPUT-REPLY: INPUT A$,B$,C$
EXCEPTION: INSUFFICIENT DATA; SHOULD BE  3  ITEM(S).
PLEASE ENTER:
  M,M
? M,M
*** Count Mismatch ***
*** Retry INPUT ***
? 0,0,0
ITEM# 1 :0
ITEM# 2 :0
ITEM# 3 :0
TEST OK.


STATEMENT FOR THIS INPUT-REPLY: INPUT A1
EXCEPTION: NUMERIC OVERFLOW; SHOULD BE  1  ITEM(S).
PLEASE ENTER:
  1E99999
? 1E99999
*** Overflow ***
*** Retry INPUT ***
? 0
ITEM# 1 : 0 
TEST OK.


STATEMENT FOR THIS INPUT-REPLY: INPUT A$
EXCEPTION: STRING OVERFLOW; SHOULD BE  1  ITEM(S).
PLEASE ENTER:
  IF=THIS=DOES=NOT=CAUSE=STRING=OVRFLW=TRY=LONGER=REPLY
? 0
ITEM# 1 :0
TEST OK.


STATEMENT FOR THIS INPUT-REPLY: INPUT A$
EXCEPTION: WRONG TYPE; SHOULD BE  1  ITEM(S).
PLEASE ENTER:
  AB?CD
? AB?CD
*** Type Mismatch ***
*** Retry INPUT ***
? 0
ITEM# 1 :0
TEST OK.


STATEMENT FOR THIS INPUT-REPLY: INPUT A$
EXCEPTION: WRONG TYPE; SHOULD BE  1  ITEM(S).
PLEASE ENTER:
  AB;CD
? AB;CD
*** Type Mismatch ***
*** Retry INPUT ***
? 0
ITEM# 1 :0
TEST OK.


STATEMENT FOR THIS INPUT-REPLY: INPUT A$
EXCEPTION: WRONG TYPE; SHOULD BE  1  ITEM(S).
PLEASE ENTER:
  K*L
? K*L
*** Type Mismatch ***
*** Retry INPUT ***
? 0
ITEM# 1 :0
TEST OK.


STATEMENT FOR THIS INPUT-REPLY: INPUT A1,B1,C1
EXCEPTION: WRONG TYPE; SHOULD BE  3  ITEM(S).
PLEASE ENTER:
  1,Q,1
? 1,Q,1
*** Type Mismatch ***
*** Retry INPUT ***
? 0,0,0
ITEM# 1 : 0 
ITEM# 2 : 0 
ITEM# 3 : 0 
TEST OK.


STATEMENT FOR THIS INPUT-REPLY: INPUT A1
EXCEPTION: WRONG TYPE; SHOULD BE  1  ITEM(S).
PLEASE ENTER:
  1D1
? 1D1
*** Type Mismatch ***
*** Retry INPUT ***
? 0
ITEM# 1 : 0 
TEST OK.


STATEMENT FOR THIS INPUT-REPLY: INPUT A$
EXCEPTION: WRONG TYPE; SHOULD BE  1  ITEM(S).
PLEASE ENTER:
  AB##CD
? AB""CD
*** Type Mismatch ***
*** Retry INPUT ***
? 0
ITEM# 1 :0
TEST OK.


STATEMENT FOR THIS INPUT-REPLY: INPUT A$
EXCEPTION: WRONG TYPE; SHOULD BE  1  ITEM(S).
PLEASE ENTER:
  AB#CD
? AB"CD
*** Type Mismatch ***
*** Retry INPUT ***
? 0
ITEM# 1 :0
TEST OK.


STATEMENT FOR THIS INPUT-REPLY: INPUT A$
EXCEPTION: WRONG TYPE; SHOULD BE  1  ITEM(S).
PLEASE ENTER:
  #AB
? "AB
*** Type Mismatch ***
*** Retry INPUT ***
? 0
ITEM# 1 :0
TEST OK.


STATEMENT FOR THIS INPUT-REPLY: INPUT A$
EXCEPTION: WRONG TYPE; SHOULD BE  1  ITEM(S).
PLEASE ENTER:
  AB#
? AB"
*** Type Mismatch ***
*** Retry INPUT ***
? 0
ITEM# 1 :0
TEST OK.


STATEMENT FOR THIS INPUT-REPLY: INPUT A$
EXCEPTION: WRONG TYPE; SHOULD BE  1  ITEM(S).
PLEASE ENTER:
  #AB##CD#
? "AB""CD"
*** Type Mismatch ***
*** Retry INPUT ***
? 0
ITEM# 1 :0
TEST OK.


STATEMENT FOR THIS INPUT-REPLY: INPUT A$
EXCEPTION: WRONG TYPE; SHOULD BE  1  ITEM(S).
PLEASE ENTER:
  #AB#CD#
? "AB"CD"
*** Type Mismatch ***
*** Retry INPUT ***
? 0
ITEM# 1 :0
TEST OK.


STATEMENT FOR THIS INPUT-REPLY: INPUT A$,B$
EXCEPTION: WRONG TYPE; SHOULD BE  2  ITEM(S).
PLEASE ENTER:
  AB#CD,EF
? AB"CD,EF
*** Type Mismatch ***
*** Retry INPUT ***
? 0,0
ITEM# 1 :0
ITEM# 2 :0
TEST OK.


STATEMENT FOR THIS INPUT-REPLY: INPUT A$,B$
EXCEPTION: WRONG TYPE; SHOULD BE  2  ITEM(S).
PLEASE ENTER:
  AB,CD#EF
? AB,CD"EF
*** Type Mismatch ***
*** Retry INPUT ***
? 0,0
ITEM# 1 :0
ITEM# 2 :0
TEST OK.


STATEMENT FOR THIS INPUT-REPLY: INPUT A$,B$
EXCEPTION: WRONG TYPE; SHOULD BE  2  ITEM(S).
PLEASE ENTER:
  A#B,C#D
? A"B,C"D
*** Type Mismatch ***
*** Retry INPUT ***
? 0,0
ITEM# 1 :0
ITEM# 2 :0
TEST OK.


STATEMENT FOR THIS INPUT-REPLY: INPUT A$,B$,C$
EXCEPTION: WRONG TYPE; SHOULD BE  3  ITEM(S).
PLEASE ENTER:
  A,,B
? A,,B
*** Type Mismatch ***
*** Retry INPUT ***
? 0,0,0
ITEM# 1 :0
ITEM# 2 :0
ITEM# 3 :0
TEST OK.


STATEMENT FOR THIS INPUT-REPLY: INPUT A$,B$
EXCEPTION: TOO MUCH DATA; SHOULD BE  2  ITEM(S).
PLEASE ENTER:
  X,Y,
? X,Y,
*** Count Mismatch ***
*** Retry INPUT ***
? 0,0
ITEM# 1 :0
ITEM# 2 :0
TEST OK.


STATEMENT FOR THIS INPUT-REPLY: INPUT A$,B$,C$
EXCEPTION: WRONG TYPE; SHOULD BE  3  ITEM(S).
PLEASE ENTER:
  X,Y,
? X,Y,
*** Type Mismatch ***
*** Retry INPUT ***
? 0,0,0
ITEM# 1 :0
ITEM# 2 :0
ITEM# 3 :0
TEST OK.


STATEMENT FOR THIS INPUT-REPLY: INPUT A$,B$,C$
EXCEPTION: WRONG TYPE; SHOULD BE  3  ITEM(S).
PLEASE ENTER:
  ,A,B
? ,A,B
*** Type Mismatch ***
*** Retry INPUT ***
? 0,0,0
ITEM# 1 :0
ITEM# 2 :0
ITEM# 3 :0
TEST OK.


STATEMENT FOR THIS INPUT-REPLY: INPUT A$
EXCEPTION: WRONG TYPE; SHOULD BE  1  ITEM(S).
PLEASE ENTER:
       NULL REPLY (HIT RETURN ONLY)
? 
*** Type Mismatch ***
*** Retry INPUT ***
? 0
ITEM# 1 :0
TEST OK.


STATEMENT FOR THIS INPUT-REPLY: INPUT A1,B1
EXCEPTION: WRONG TYPE; SHOULD BE  2  ITEM(S).
PLEASE ENTER:
  2==3
? 2  3
*** Type Mismatch ***
*** Retry INPUT ***
? 0,0
ITEM# 1 : 0 
ITEM# 2 : 0 
TEST OK.


STATEMENT FOR THIS INPUT-REPLY: INPUT A1
EXCEPTION: WRONG TYPE; SHOULD BE  1  ITEM(S).
PLEASE ENTER:
  2==3
? 2  3
*** Type Mismatch ***
*** Retry INPUT ***
? 0
ITEM# 1 : 0 
TEST OK.


STATEMENT FOR THIS INPUT-REPLY: INPUT A$,B$,C$
EXCEPTION: WRONG TYPE; SHOULD BE  3  ITEM(S).
PLEASE ENTER:
  X,===,Y
? X,   ,Y
*** Type Mismatch ***
*** Retry INPUT ***
? 0,0,0
ITEM# 1 :0
ITEM# 2 :0
ITEM# 3 :0
TEST OK.

***  TEST PASSED  ***

            END TEST

END PROGRAM 112
