package testtool.Main;


import java.util.Collection;

/**
 *
 * Generic JavaDoc for Main 

 *    Derived from an FMSL opaque type.
 * 
 * @author 
 * @version 
 *
 **/

public class Main {

     /** Default Constructor **/
     public Main() {

     }

     /**  Adds a question to the question database  **/
     protected QuestionDatabase add(Question qdb, QuestionDatabase[] q) {
          return null;
     }

     /**  Adds a new block of questions to the test wizard.
    **/
     protected TestWizard addConstraintSet(ConstraintSet w, 
               TestWizard constraints) {
          return null;
     }

     /**  Adds a question to an EditableTest.  **/
     protected EditableTest addQuestionEditable(EditableTest test, 
               TestQuestion question, int index) {
          return null;
     }

     /** A student takes a test question, and answers it **/
     protected AnsweredQuestion answerQuestion(Answer tq, AnsweredTest a, 
               QuestionBlock qb, TestQuestion at) {
          return null;
     }

     /** A student takes a test, and answers questions on it **/
     protected AnsweredTest answerTest(AnsweredQuestion at, AnsweredTest aq, 
               QuestionBlock qb) {
          return null;
     }

     /**  This allows the student to comment on a question **/
     protected String comment(Actual a) {
          return null;
     }

     /**  Create a student object with their username set  **/
     protected ProctoredStudent createProctoredStudent(String un) {
          return null;
     }

     /**  Removes a question from the question database  **/
     protected QuestionDatabase delete(Question qdb, QuestionDatabase[] q) {
          return null;
     }

     /**  sets the isEnded boolean, so that the student can no longer enter answers  **/
     protected ProctoredStudent endStudent(ProctoredStudent ps) {
          return null;
     }

     protected boolean equivalent(TestQuestion q1, TestQuestion q2) {
          return null;
     }

     /**  Exports the question database to a file  **/
     protected QuestionDatabase export(String qdb, QuestionDatabase[] fn) {
          return null;
     }

     protected TestQuestion getQuestion(Test test, int index) {
          return null;
     }

     protected TestQuestion getQuestionEditable(EditableTest test, int index) {
          return null;
     }

     /** This jumps to the given question **/
     protected Problem newgoto(Problem t, Test p) {
          return null;
     }

     /**  grades a student's answers  **/
     protected ProctoredStudent gradeQuestions(ProctoredStudent ps) {
          return null;
     }

     /**  Imports a question database into the existing database  **/
     protected QuestionDatabase newimport(String qdb, QuestionDatabase[] fn) {
          return null;
     }

     /**  MakeTest extracts the data from the TestWizard to generate a
        * EditableTest. The
    QuestionBlocks are populated with questions and added to the EditableTest.
    **/
     protected EditableTest makeEditableTest(TestWizard wizard) {
          return null;
     }

     /**  Converts an editable test object into one suitable for administering to
	  students.
	  **/
     protected Test makeTest(EditableTest et) {
          return null;
     }

     /**  Modfies a question in the question database  **/
     protected QuestionDatabase modify(Question qdb, Question old_q, 
               QuestionDatabase[] new_q) {
          return null;
     }

     /**  Swaps the question at the given index with the question at the next index.  **/
     protected EditableTest moveQuestionDownEditable(EditableTest test, 
               int index) {
          return null;
     }

     /**  Swaps the question at the given index with the question at the previous
	  index.
	  **/
     protected EditableTest moveQuestionUpEditable(EditableTest test, int index) {
          return null;
     }

     /**  This operation opens up a pre-selected IDE
		  for coding questions **/
     protected void openIDE(Actual ide, String la, LongAnswer[] a) {
          return null;
     }

     protected boolean passes(ConstraintSet filters, TestQuestion question) {
          return null;
     }

     /**  Pauses the current test for all users  **/
     protected ProctoredTest pauseTest(ProctoredTest pt) {
          return null;
     }

     /**  Removes a block of questions from the test wizard.
    **/
     protected TestWizard removeConstraintSet(ConstraintSet w, TestWizard cset) {
          return null;
     }

     /**  Removes a question from an editable test.  **/
     protected EditableTest removeQuestionEditable(EditableTest test, int index) {
          return null;
     }

     /**  The TestQuestion's QuestionBlock is found, a new question is generate
        *d
    according to the ConstraintSet of the QuestionBlock, and this new
    TestQuestion replaces the existing one.
    **/
     protected EditableTest replaceQuestionEditable(EditableTest test, int index) {
          return null;
     }

     /**  Searches for questions that match a field the user specifies  **/
     protected QuestionDatabase search(QuestionDatabase[] qdb, SearchString ss) {
          return null;
     }

     /**  Adds the answered questions to the student object  **/
     protected ProctoredStudent setAnswer(GradedQuestion q, ProctoredStudent ps) {
          return null;
     }

     /**  Allows user to time themselves **/
     protected TestTimer settimer(int a) {
          return null;
     }

     /**  Starts the current test for all students  **/
     protected ProctoredTest startTest(ProctoredStudent psl) {
          return null;
     }

     /**  Saves test and uploads to proctor **/
     protected AnsweredTest submit(Actual a, AnsweredTest at, int tr) {
          return null;
     }

     /** chooses a new color for complete status **/
     protected StandardColor toggleComplete(Object stdC, Object stdC2, Object 
               stdC3) {
          return null;
     }

     /** chooses a new color for incomplete status **/
     protected StandardColor toggleInComplete(Object stdC, Object stdC2, Object 
               stdC3) {
          return null;
     }

     /** switches the boolean value **/
     protected boolean toggleQDisplay(boolean onePP) {
          return false;
     }

     /** changes the display boolean **/
     protected QuestionTimer toggleQuestionTimer(QuestionTimer qt) {
          return null;
     }

     /** chooses a new color for revisit status **/
     protected StandardColor toggleRevisit(Object stdC, Object stdC2, Object 
               stdC3) {
          return null;
     }

     /** changes the display boolean **/
     protected TestTimer toggleTestTimer(TestTimer tt) {
          return null;
     }

     /**  Unpauses the current test for all users  **/
     protected ProctoredTest unpauseTest(ProctoredTest pt) {
          return null;
     }

     /** pages **/
     protected void page(String pw, pagew c) {
          return null;
     }

     /** opens a pagewindow **/
     protected pagew pageproctor(Proctored pt) {
          return null;
     }

}