001 package junit.extensions;
002
003 import junit.framework.Assert;
004 import junit.framework.Test;
005 import junit.framework.TestResult;
006
007 /**
008 * A Decorator for Tests. Use TestDecorator as the base class for defining new
009 * test decorators. Test decorator subclasses can be introduced to add behaviour
010 * before or after a test is run.
011 */
012 @SuppressWarnings("deprecation")
013 public class TestDecorator extends Assert implements Test {
014 protected Test fTest;
015
016 public TestDecorator(Test test) {
017 fTest = test;
018 }
019
020 /**
021 * The basic run behaviour.
022 */
023 public void basicRun(TestResult result) {
024 fTest.run(result);
025 }
026
027 public int countTestCases() {
028 return fTest.countTestCases();
029 }
030
031 public void run(TestResult result) {
032 basicRun(result);
033 }
034
035 @Override
036 public String toString() {
037 return fTest.toString();
038 }
039
040 public Test getTest() {
041 return fTest;
042 }
043 }