//TestReview @Christopher Pauley 2.4.1.6.

package studentClient;

import java.util.*;


/**
*Test Review Interface
* Refers to Section 2.4.1.5. -
* Allows the user to review a graded test by going through the questions
* one-by-one and reading the teacher's comments, as well as the correct answers versus theirs.
*/


public abstract class TestReview
{
   /**
   *Current Question - The question the viewer is currently on
   * Total Questions - The total number of questions in the test
   * CurrentQuestionData - The data associated with the current GradedQuestion
   * TotalScore - the total score of the test
   * LetterGrade- The letter grade of the test
   * percentage- the percentage of the test
   */
   int currentQuestion;
   int totalQuestions;
   int totalScore;
   String letterGrade;
   int percentage;

  /**
  * goToNextQuestion()
  *Goes to the next question if currentQuestion < totalQuestions - 1
  */  
       /*@
      requires
        //
        // A test has been selected.
        //
        (currentQuestion < totalQuestions-1)
        ;
      ensures
        //
        // If preconds met, the next question is displayed.
        //
        (currentQuestion==\old(currentQuestion) + 1);

     @*/

  public abstract void gotoNextQuestion();
 
  /**
   * goToPreviousQeustion()
   * Goes to the previous question if currentQuestion > 0
  */  

       /*@
      requires
        //
        // A test has been selected.
        //
        (currentQuestion > 0)
       ;
      ensures
        //
        // If preconds met, the previous question is displayed.
        //
        (currentQuestion==\old(currentQuestion) - 1);

     @*/
	 
  public abstract void gotoPreviousQuestion();
  
  /**
  * finish()
	  *Exits the test review screen
  */  
  public abstract void finish();

}