* Tests the thread safety testing mechanism for a variety of cases.
*/
@Test
public final void testTestingOutput() {
SafetyTester tester = new SafetyTester();
assertEquals("Failed thread safe class.", ThreadSafety.THREAD,
tester.testSafety(new ReferenceTask()));
assertEquals("Failed VM safe class.", ThreadSafety.VM,
tester.testSafety(new ReferenceVMTask()));
assertEquals("Failed unsafe test class.", ThreadSafety.SEQUENTIAL,
tester.testSafety(new ReferenceUnsafeTask()));
assertEquals("Failed forced safety test class", ThreadSafety.THREAD,
tester.testSafety(new ForcedSafe()));
assertNotEquals("Failed unsafe complex type checks.",
ThreadSafety.THREAD,
tester.testSafety(new ComplexUnsafeTypes()));
assertEquals("Failed safe complex type checks.", ThreadSafety.THREAD,
tester.testSafety(new ComplexSafeTypes()));
}