IF analysis = Program & actualAnswer = studentAnswer THEN result = Correct & Your output is correct ELSE IF analysis = Program & actualAnswer.SIZE > studentAnswer.SIZE THEN You missed identifying some output ELSE IF analysis = Program & actualAnswer.SIZE < studentAnswer.SIZE THEN You identified additional non-existent output IF analysis = Line & actualAnswer.SIZE = 0 THEN Your output for line $LINE is incorrect. Line $LINE did not have any output IF analysis = Program & actualAnswer.SIZE > 0 & studentAnswer.SIZE > 0 & actualAnswer.TYPE != studentAnswer.TYPE THEN You entered $studentAnswer.TYPE as output when the output type was $TYPE IF analysis = Line & actualAnswer.SIZE > 0 & studentAnswer.SIZE > 0 & actualAnswer.TYPE != studentAnswer.TYPE THEN You entered $studentAnswer.TYPE as output when the output type was $TYPE on line $LINE ELSE IF analysis = Line & actualAnswer = studentAnswer THEN result = Correct & Your output for line $LINE is correct ELSE IF analysis = Line & actualAnswer.SIZE > 0 & studentAnswer.SIZE > 0 THEN You got $POINTS answers correct out of $SIZE on line $LINE WITH actualAnswer[] = studentAnswer[] ELSE IF analysis = Line & studentAnswer.SIZE = 0 THEN You missed identifying the output on line $LINE ELSE IF analysis = Line & actualAnswer != studentAnswer THEN Your output for line $LINE is incorrect ELSE IF analysis = Line & studentAnswer.SIZE > 0 & actualAnswer.SIZE > studentAnswer.SIZE THEN You missed identifying some output on line $LINE ELSE IF analysis = Line & studentAnswer.SIZE > actualAnswer.SIZE THEN You identified additional non-existent output on line $LINE