org.cpsolver.exam

## Class Test

- java.lang.Object
- - org.cpsolver.exam.Test

-     public class Test
      extends Object

  An examination timetabling test program. The following steps are performed:
  - Input properties are loaded
  - Input problem is loaded (General.Input property)
  - Problem is solved (using the given properties)
  - Solution is save (General.OutputFile property)
  Usage:

      java -Xmx1024m -jar examtt-1.1.jar exam.properties input.xml output.xml

  Version:
    ExamTT 1.3 (Examination Timetabling)
    Copyright (C) 2007 - 2014 Tomáš Müller
    muller@unitime.org
    http://muller.unitime.org
    This library is free software; you can redistribute it and/or modify it under the terms of the GNU Lesser General Public License as published by the Free Software Foundation; either version 3 of the License, or (at your option) any later version.
    This library is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU Lesser General Public License for more details.
    You should have received a copy of the GNU Lesser General Public License along with this library; if not see http://www.gnu.org/licenses/.

- - ### Nested Class Summary

    Nested Classes
    Modifier and Type | Class and Description
    --- | ---
    `static class` | `Test.ShutdownHook`

  - ### Constructor Summary

    Constructors
    Constructor and Description
    `Test()`

  - ### Method Summary

    All Methods Static Methods Concrete Methods
    Modifier and Type | Method and Description
    --- | ---
    `static void` | `createReports(ExamModel model, Assignment<Exam,ExamPlacement> assignment, File outDir, String outName)` Generate exam reports
    `static void` | `main(String[] args)` Main program
    `static void` | `setupLogging(File logFile, boolean debug)` Setup log4j logging

    - ### Methods inherited from class java.lang.Object

      `clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait`

- - ### Constructor Detail

    - #### Test

          public Test()

  - ### Method Detail

    - #### setupLogging

          public static void setupLogging(File logFile,
                                          boolean debug)

      Setup log4j logging
      Parameters:
        `logFile` - log file
        `debug` - true if debug messages should be logged (use -Ddebug=true to enable debug message)

    - #### createReports

          public static void createReports(ExamModel model,
                                           Assignment<Exam,ExamPlacement> assignment,
                                           File outDir,
                                           String outName)
                                    throws IOException

      Generate exam reports
      Parameters:
        `model` - problem model
        `assignment` - current assignment
        `outDir` - output folder
        `outName` - output file name prefix
      Throws:
        `IOException` - may be thrown when writing fails

    - #### main

          public static void main(String[] args)

      Main program
      Parameters:
        `args` - problem property file, input file (optional, may be set by General.Input property), output file (optional, may be set by General.OutputFile property)