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 }