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/** 8b3823db9f1192d8c81345740b3e65bd6738ba55bBrett Chabot * A Decorator for Tests. Use TestDecorator as the base class for defining new 9b3823db9f1192d8c81345740b3e65bd6738ba55bBrett Chabot * test decorators. Test decorator subclasses can be introduced to add behaviour 10b3823db9f1192d8c81345740b3e65bd6738ba55bBrett Chabot * before or after a test is run. 11b3823db9f1192d8c81345740b3e65bd6738ba55bBrett Chabot * 1258a8b0aba2dec5695628a2bf25a3fae42c2c3533Brett Chabot */ 1358a8b0aba2dec5695628a2bf25a3fae42c2c3533Brett Chabotpublic class TestDecorator extends Assert implements Test { 1458a8b0aba2dec5695628a2bf25a3fae42c2c3533Brett Chabot protected Test fTest; 1558a8b0aba2dec5695628a2bf25a3fae42c2c3533Brett Chabot 1658a8b0aba2dec5695628a2bf25a3fae42c2c3533Brett Chabot public TestDecorator(Test test) { 1758a8b0aba2dec5695628a2bf25a3fae42c2c3533Brett Chabot fTest= test; 1858a8b0aba2dec5695628a2bf25a3fae42c2c3533Brett Chabot } 19b3823db9f1192d8c81345740b3e65bd6738ba55bBrett 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 } 26b3823db9f1192d8c81345740b3e65bd6738ba55bBrett Chabot 2758a8b0aba2dec5695628a2bf25a3fae42c2c3533Brett Chabot public int countTestCases() { 2858a8b0aba2dec5695628a2bf25a3fae42c2c3533Brett Chabot return fTest.countTestCases(); 2958a8b0aba2dec5695628a2bf25a3fae42c2c3533Brett Chabot } 30b3823db9f1192d8c81345740b3e65bd6738ba55bBrett Chabot 3158a8b0aba2dec5695628a2bf25a3fae42c2c3533Brett Chabot public void run(TestResult result) { 3258a8b0aba2dec5695628a2bf25a3fae42c2c3533Brett Chabot basicRun(result); 3358a8b0aba2dec5695628a2bf25a3fae42c2c3533Brett Chabot } 3458a8b0aba2dec5695628a2bf25a3fae42c2c3533Brett Chabot 35b3823db9f1192d8c81345740b3e65bd6738ba55bBrett Chabot @Override 3658a8b0aba2dec5695628a2bf25a3fae42c2c3533Brett Chabot public String toString() { 3758a8b0aba2dec5695628a2bf25a3fae42c2c3533Brett Chabot return fTest.toString(); 3858a8b0aba2dec5695628a2bf25a3fae42c2c3533Brett Chabot } 3958a8b0aba2dec5695628a2bf25a3fae42c2c3533Brett Chabot 4058a8b0aba2dec5695628a2bf25a3fae42c2c3533Brett Chabot public Test getTest() { 4158a8b0aba2dec5695628a2bf25a3fae42c2c3533Brett Chabot return fTest; 4258a8b0aba2dec5695628a2bf25a3fae42c2c3533Brett Chabot } 4358a8b0aba2dec5695628a2bf25a3fae42c2c3533Brett Chabot}