KickJava   Java API By Example, From Geeks To Geeks.

Java > Open Source Codes > db4ounit > tests > FrameworkTestCase


1 /* Copyright (C) 2004 - 2006 db4objects Inc. http://www.db4o.com
2
3 This file is part of the db4o open source object database.
4
5 db4o is free software; you can redistribute it and/or modify it under
6 the terms of version 2 of the GNU General Public License as published
7 by the Free Software Foundation and as clarified by db4objects' GPL
8 interpretation policy, available at
9 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 JavaDoc;
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 JavaDoc EXCEPTION = new RuntimeException JavaDoc();
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()}),0);
49         runTestAndExpect(new TestSuite(new Test[]{new RunsRed(EXCEPTION)}),1);
50         runTestAndExpect(new TestSuite(new Test[]{new RunsGreen(),new RunsRed(EXCEPTION)}),1);
51         runTestAndExpect(new TestSuite(new Test[]{new RunsRed(EXCEPTION),new RunsRed(EXCEPTION)}),2);
52         runTestAndExpect(new TestSuite(new Test[]{new RunsRed(EXCEPTION),new RunsGreen()}),1);
53         runTestAndExpect(new TestSuite(new Test[]{new RunsGreen(),new RunsGreen()}),0);
54     }
55     
56     public static void runTestAndExpect(Test test,int expFailures) {
57         runTestAndExpect(test,expFailures,true);
58     }
59     
60     public static void runTestAndExpect(Test test,int expFailures, boolean checkException) {
61         TestResult result = new TestResult();
62         test.run(result);
63         if (expFailures != result.failures().size()) {
64             Assert.fail(result.failures().toString());
65         }
66         if (checkException) {
67             for(Enumeration JavaDoc iter=result.failures().iterator(); iter.hasMoreElements();) {
68                 TestFailure failure = (TestFailure) iter.nextElement();
69                 Assert.isTrue(EXCEPTION.equals(failure.getFailure()));
70             }
71         }
72     }
73 }
74
Popular Tags