158a8b0aba2dec5695628a2bf25a3fae42c2c3533Brett Chabotpackage junit.extensions; 258a8b0aba2dec5695628a2bf25a3fae42c2c3533Brett Chabot 358a8b0aba2dec5695628a2bf25a3fae42c2c3533Brett Chabotimport junit.framework.Assert; 458a8b0aba2dec5695628a2bf25a3fae42c2c3533Brett Chabotimport junit.framework.Test; 558a8b0aba2dec5695628a2bf25a3fae42c2c3533Brett Chabotimport junit.framework.TestResult; 658a8b0aba2dec5695628a2bf25a3fae42c2c3533Brett Chabot 758a8b0aba2dec5695628a2bf25a3fae42c2c3533Brett Chabot/** 858a8b0aba2dec5695628a2bf25a3fae42c2c3533Brett Chabot * A Decorator for Tests. Use TestDecorator as the base class 958a8b0aba2dec5695628a2bf25a3fae42c2c3533Brett Chabot * for defining new test decorators. Test decorator subclasses 1058a8b0aba2dec5695628a2bf25a3fae42c2c3533Brett Chabot * can be introduced to add behaviour before or after a test 1158a8b0aba2dec5695628a2bf25a3fae42c2c3533Brett Chabot * is run. 1258a8b0aba2dec5695628a2bf25a3fae42c2c3533Brett Chabot * 1358a8b0aba2dec5695628a2bf25a3fae42c2c3533Brett Chabot */ 1458a8b0aba2dec5695628a2bf25a3fae42c2c3533Brett Chabotpublic class TestDecorator extends Assert implements Test { 1558a8b0aba2dec5695628a2bf25a3fae42c2c3533Brett Chabot protected Test fTest; 1658a8b0aba2dec5695628a2bf25a3fae42c2c3533Brett Chabot 1758a8b0aba2dec5695628a2bf25a3fae42c2c3533Brett Chabot public TestDecorator(Test test) { 1858a8b0aba2dec5695628a2bf25a3fae42c2c3533Brett Chabot fTest= test; 1958a8b0aba2dec5695628a2bf25a3fae42c2c3533Brett Chabot } 2058a8b0aba2dec5695628a2bf25a3fae42c2c3533Brett Chabot /** 2158a8b0aba2dec5695628a2bf25a3fae42c2c3533Brett Chabot * The basic run behaviour. 2258a8b0aba2dec5695628a2bf25a3fae42c2c3533Brett Chabot */ 2358a8b0aba2dec5695628a2bf25a3fae42c2c3533Brett Chabot public void basicRun(TestResult result) { 2458a8b0aba2dec5695628a2bf25a3fae42c2c3533Brett Chabot fTest.run(result); 2558a8b0aba2dec5695628a2bf25a3fae42c2c3533Brett Chabot } 2658a8b0aba2dec5695628a2bf25a3fae42c2c3533Brett Chabot public int countTestCases() { 2758a8b0aba2dec5695628a2bf25a3fae42c2c3533Brett Chabot return fTest.countTestCases(); 2858a8b0aba2dec5695628a2bf25a3fae42c2c3533Brett Chabot } 2958a8b0aba2dec5695628a2bf25a3fae42c2c3533Brett Chabot public void run(TestResult result) { 3058a8b0aba2dec5695628a2bf25a3fae42c2c3533Brett Chabot basicRun(result); 3158a8b0aba2dec5695628a2bf25a3fae42c2c3533Brett Chabot } 3258a8b0aba2dec5695628a2bf25a3fae42c2c3533Brett Chabot 3358a8b0aba2dec5695628a2bf25a3fae42c2c3533Brett Chabot public String toString() { 3458a8b0aba2dec5695628a2bf25a3fae42c2c3533Brett Chabot return fTest.toString(); 3558a8b0aba2dec5695628a2bf25a3fae42c2c3533Brett Chabot } 3658a8b0aba2dec5695628a2bf25a3fae42c2c3533Brett Chabot 3758a8b0aba2dec5695628a2bf25a3fae42c2c3533Brett Chabot public Test getTest() { 3858a8b0aba2dec5695628a2bf25a3fae42c2c3533Brett Chabot return fTest; 3958a8b0aba2dec5695628a2bf25a3fae42c2c3533Brett Chabot } 4058a8b0aba2dec5695628a2bf25a3fae42c2c3533Brett Chabot}