01: /* Copyright (C) 2004 - 2007 db4objects Inc. http://www.db4o.com
02:
03: This file is part of the db4o open source object database.
04:
05: db4o is free software; you can redistribute it and/or modify it under
06: the terms of version 2 of the GNU General Public License as published
07: by the Free Software Foundation and as clarified by db4objects' GPL
08: interpretation policy, available at
09: http://www.db4o.com/about/company/legalpolicies/gplinterpretation/
10: Alternatively you can write to db4objects, Inc., 1900 S Norfolk Street,
11: Suite 350, San Mateo, CA 94403, USA.
12:
13: db4o is distributed in the hope that it will be useful, but WITHOUT ANY
14: WARRANTY; without even the implied warranty of MERCHANTABILITY or
15: FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License
16: for more details.
17:
18: You should have received a copy of the GNU General Public License along
19: with this program; if not, write to the Free Software Foundation, Inc.,
20: 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA. */
21: package db4ounit.tests;
22:
23: import java.util.Enumeration;
24:
25: import db4ounit.Assert;
26: import db4ounit.Test;
27: import db4ounit.TestFailure;
28: import db4ounit.TestCase;
29: import db4ounit.TestResult;
30: import db4ounit.TestSuite;
31:
32: public class FrameworkTestCase implements TestCase {
33: public final static RuntimeException EXCEPTION = new RuntimeException();
34:
35: public void testRunsGreen() {
36: TestResult result = new TestResult();
37: new RunsGreen().run(result);
38: Assert.isTrue(result.failures().size() == 0, "not green");
39: }
40:
41: public void testRunsRed() {
42: TestResult result = new TestResult();
43: new RunsRed(EXCEPTION).run(result);
44: Assert.isTrue(result.failures().size() == 1, "not red");
45: }
46:
47: public void testTestSuite() {
48: runTestAndExpect(new TestSuite(new Test[] { new RunsGreen() }),
49: 0);
50: runTestAndExpect(new TestSuite(new Test[] { new RunsRed(
51: EXCEPTION) }), 1);
52: runTestAndExpect(new TestSuite(new Test[] { new RunsGreen(),
53: new RunsRed(EXCEPTION) }), 1);
54: runTestAndExpect(new TestSuite(new Test[] {
55: new RunsRed(EXCEPTION), new RunsRed(EXCEPTION) }), 2);
56: runTestAndExpect(new TestSuite(new Test[] {
57: new RunsRed(EXCEPTION), new RunsGreen() }), 1);
58: runTestAndExpect(new TestSuite(new Test[] { new RunsGreen(),
59: new RunsGreen() }), 0);
60: }
61:
62: public static void runTestAndExpect(Test test, int expFailures) {
63: runTestAndExpect(test, expFailures, true);
64: }
65:
66: public static void runTestAndExpect(Test test, int expFailures,
67: boolean checkException) {
68: TestResult result = new TestResult();
69: test.run(result);
70: if (expFailures != result.failures().size()) {
71: Assert.fail(result.failures().toString());
72: }
73: if (checkException) {
74: for (Enumeration iter = result.failures().iterator(); iter
75: .hasMoreElements();) {
76: TestFailure failure = (TestFailure) iter.nextElement();
77: Assert.isTrue(EXCEPTION.equals(failure.getFailure()));
78: }
79: }
80: }
81: }
|