Annotation Interface LevenshteinTest


@Public @StrictTimeout(5L) @ExtendWith(StaticStateReset.class) @MirrorOutput @Inherited @Documented @Retention(RUNTIME) @Target({TYPE,ANNOTATION_TYPE}) public @interface LevenshteinTest
Marks a test class as a public Ares 2 test class using the Levenshtein Testing Framework.

This is a composed annotation of

  • Public - activates Ares 2 supervision for every test of the class. Without an Ares test-type annotation a test runs completely unsupervised, even if it carries a @Policy.
  • StrictTimeout(5) - default deadline per test. Put your own @StrictTimeout on the class or a method to override it.
  • MirrorOutput - mirror student console output into the test log.
  • StaticStateReset - resets attributes that are static although an instance attribute is expected, before each test.

The security policy is exam specific and therefore not part of this annotation. Every exam test class must add its own @Policy:

@LevenshteinTest
@Policy(value = "test/SecurityPolicy.yaml", withinPath = "classes/org/example/exam")
class ExamTest { ... }

Use HiddenLevenshteinTest for hidden tests.

See Also: