1 /*
2 * Copyright (c) 2004, Bruce Lowery
3 * All rights reserved.
4 *
5 * Redistribution and use in source and binary forms, with or without
6 * modification, are permitted provided that the following conditions are met:
7 *
8 * - Redistributions of source code must retain the above copyright notice,
9 * this list of conditions and the following disclaimer.
10 * - Redistributions in binary form must reproduce the above copyright
11 * notice, this list of conditions and the following disclaimer in the
12 * documentation and/or other materials provided with the distribution.
13 * - Neither the name of JEGG nor the names of its contributors may be used
14 * to endorse or promote products derived from this software without
15 * specific prior written permission.
16 *
17 * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS"
18 * AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
19 * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
20 * ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE
21 * LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR
22 * CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF
23 * SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS
24 * INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN
25 * CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE)
26 * ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE
27 * POSSIBILITY OF SUCH DAMAGE.
28 */
29 package jegg;
30
31 import org.apache.commons.logging.Log;
32 import org.apache.commons.logging.LogFactory;
33
34 import junit.framework.TestCase;
35 import junit.framework.TestSuite;
36
37 /***
38 *
39 */
40 public abstract class TestBase extends TestCase
41 {
42 private static Class testClass;
43 private static Log testLog;
44 private long start;
45 private long end;
46
47 protected static void setTestClass(Class c)
48 {
49 testClass = c;
50 testLog = LogFactory.getLog(testClass);
51 }
52
53 protected static Log getLog()
54 {
55 return testLog;
56 }
57
58 public TestBase(String n)
59 {
60 super(n);
61 }
62
63 protected void prolog(String s)
64 {
65 StringBuffer buf = new StringBuffer();
66 buf.append("\n-------------------------------------------------\n");
67 buf.append(" Test: ");
68 buf.append(getName());
69 buf.append("\n\n");
70 buf.append(s);
71 buf.append("-------------------------------------------------\n");
72 getLog().info(buf.toString());
73 }
74
75 public void setUp()
76 {
77 StringBuffer buf = new StringBuffer();
78 buf.append("\n-------------------------------------------------\n");
79 buf.append(" Setting up: ");
80 buf.append(getName());
81 buf.append("\n");
82 setup();
83 buf.append("-------------------------------------------------\n");
84 getLog().info(buf.toString());
85 start = System.currentTimeMillis();
86 }
87
88 protected abstract void setup();
89
90 public void tearDown()
91 {
92 end = System.currentTimeMillis();
93 StringBuffer buf = new StringBuffer();
94 buf.append("-------------------------------------------------\n");
95 buf.append(" Tearing down: ");
96 buf.append(getName());
97 buf.append("\n");
98 buf.append(" Execution time: ");
99 buf.append(Long.toString(end-start));
100 buf.append("msec\n");
101 buf.append("-------------------------------------------------\n");
102 getLog().info(buf.toString());
103 teardown();
104 }
105
106 protected abstract void teardown();
107
108 /***
109 * Test class main: Run all the tests defined by this class.
110 * @param args xxx
111 * @throws Exception xxx
112 */
113 public static void main(final String[] args) throws Exception
114 {
115 //run all tests
116 junit.textui.TestRunner.run(new TestSuite(EggTest.class));
117 }
118
119 }
This page was automatically generated by Maven