/* * Copyright 2005-2010 Ignis Software Tools Ltd. All rights reserved. */ package junit.framework; import org.junit.runner.Description; import org.junit.runner.notification.Failure; import org.junit.runner.notification.RunListener; import org.junit.runner.notification.RunNotifier; class JsystemRunNotifier extends RunNotifier{ private TestResult testResult; private Class<?> testClass; private String methodName; public String getMethodName() { return methodName; } public void setMethodName(String methodName) { this.methodName = methodName; } public Class<?> getTestClass() { return testClass; } public void setTestClass(Class<?> testClass) { this.testClass = testClass; } public TestResult getTestResult() { return testResult; } public void setTestResult(TestResult testResult) { this.testResult = testResult; } public static JUnit4ListenerAdapter getAddapterListener(Test test, TestResult result){ return new JUnit4ListenerAdapter(test,result); } public void addAdapterListener(Test test, TestResult result){ setTestResult(result); addListener(new JUnit4ListenerAdapter(test,result)); } } class JUnit4ListenerAdapter extends RunListener { private TestResult result; private Test test; public JUnit4ListenerAdapter(Test test, TestResult result) { this.result = result; this.test = test; } @Override public void testFailure(Failure failure) throws Exception { if (AssertionError.class.isInstance(failure.getException())) { // hack to convert an AssertionError to AssertionFailedError which // so that a failure (and not an error) can be reported AssertionFailedError assertionFailedError = new AssertionFailedError(failure.getException().getMessage()); result.addFailure(test, assertionFailedError); } else { result.addError(test, failure.getException()); } } @Override public void testFinished(Description description) throws Exception { result.endTest(test); } @Override public void testStarted(Description description) throws Exception { result.startTest(test); } }