KickJava   Java API By Example, From Geeks To Geeks.

Java > Open Source Codes > jester > tests > ClassTestTesterTest


1 package jester.tests;
2
3 import jester.*;
4 import junit.framework.*;
5
6 public class ClassTestTesterTest extends TestCase {
7     public ClassTestTesterTest(String JavaDoc name) {
8         super(name);
9     }
10     public static void main(String JavaDoc args[]) {
11         junit.awtui.TestRunner.main(new String JavaDoc[] { "jester.tests.ClassTestTesterTest" });
12     }
13     public static Test suite() {
14         TestSuite suite = new TestSuite(ClassTestTesterTest.class);
15         return suite;
16     }
17     public void testThatChangeThatFailsTestsIsNotRecorded() throws SourceChangeException {
18         MockTestRunner mockTestRunner = new MockTestRunner();
19         mockTestRunner.setTestsRunWithoutFailures(false);
20
21         MockClassSourceChanger mockClassSourceCodeChanger = new MockClassSourceChanger();
22         mockClassSourceCodeChanger.setOriginalContents("includes 1 thing that will be changed");
23         mockClassSourceCodeChanger.setExpectedWriteOverSourceReplacing(9, "1", "2");
24         mockClassSourceCodeChanger.setExpectedWriteOverSourceReplacingCalls(1);
25         mockClassSourceCodeChanger.setExpectedWriteOriginalBackCalls(1);
26         mockClassSourceCodeChanger.setExpectedStartJestingCalls(1);
27         mockClassSourceCodeChanger.setExpectedFinishJestingCalls(1);
28
29         mockClassSourceCodeChanger.setExpectedLastChangeDidNotCauseTestsToFailCalls(0);
30         mockClassSourceCodeChanger.setExpectedLastChangeCausedTestsToFailCalls(1);
31
32         ClassTestTester classTestTester = newRealClassTestTester(mockTestRunner);
33
34         classTestTester.testUsing(mockClassSourceCodeChanger);
35
36         mockClassSourceCodeChanger.verify();
37     }
38     public void testThatChangeThatPassesTestsIsRecorded() throws SourceChangeException {
39         MockTestRunner mockTestRunner = new MockTestRunner();
40         mockTestRunner.setTestsRunWithoutFailures(true);
41
42         MockClassSourceChanger mockClassSourceCodeChanger = new MockClassSourceChanger();
43         mockClassSourceCodeChanger.setOriginalContents("includes 1 thing that will be changed");
44         mockClassSourceCodeChanger.setExpectedWriteOverSourceReplacing(9, "1", "2");
45         mockClassSourceCodeChanger.setExpectedWriteOverSourceReplacingCalls(1);
46         mockClassSourceCodeChanger.setExpectedWriteOriginalBackCalls(1);
47         mockClassSourceCodeChanger.setExpectedStartJestingCalls(1);
48         mockClassSourceCodeChanger.setExpectedFinishJestingCalls(1);
49
50         mockClassSourceCodeChanger.setExpectedLastChangeDidNotCauseTestsToFailCalls(1);
51         mockClassSourceCodeChanger.setExpectedLastChangeCausedTestsToFailCalls(0);
52
53         ClassTestTester classTestTester = newRealClassTestTester(mockTestRunner);
54
55         classTestTester.testUsing(mockClassSourceCodeChanger);
56
57         mockClassSourceCodeChanger.verify();
58     }
59     public void testThatOriginalContentsAreNotWrittenBackIfNoChanges() throws SourceChangeException {
60         MockTestRunner mockTestRunner = new MockTestRunner();
61
62         MockClassSourceChanger mockClassSourceCodeChanger = new MockClassSourceChanger();
63         mockClassSourceCodeChanger.setOriginalContents("includes nothing that will be changed");
64         mockClassSourceCodeChanger.setExpectedWriteOverSourceReplacingCalls(0);
65         mockClassSourceCodeChanger.setExpectedWriteOriginalBackCalls(0);
66         mockClassSourceCodeChanger.setExpectedStartJestingCalls(1);
67         mockClassSourceCodeChanger.setExpectedFinishJestingCalls(1);
68
69         mockClassSourceCodeChanger.setExpectedLastChangeDidNotCauseTestsToFailCalls(0);
70         mockClassSourceCodeChanger.setExpectedLastChangeCausedTestsToFailCalls(0);
71
72         ClassTestTester classTestTester = newRealClassTestTester(mockTestRunner);
73
74         classTestTester.testUsing(mockClassSourceCodeChanger);
75
76         mockClassSourceCodeChanger.verify();
77     }
78     public void testThatOriginalContentsAreWrittenBack() throws SourceChangeException {
79         MockTestRunner mockTestRunner = new MockTestRunner();
80
81         MockClassSourceChanger mockClassSourceCodeChanger = new MockClassSourceChanger();
82         mockClassSourceCodeChanger.setOriginalContents("includes 1 thing that will be changed");
83         mockClassSourceCodeChanger.setExpectedWriteOverSourceReplacing(9, "1", "2");
84         mockClassSourceCodeChanger.setExpectedWriteOverSourceReplacingCalls(1);
85         mockClassSourceCodeChanger.setExpectedWriteOriginalBackCalls(1);
86         mockClassSourceCodeChanger.setExpectedStartJestingCalls(1);
87         mockClassSourceCodeChanger.setExpectedFinishJestingCalls(1);
88
89         mockClassSourceCodeChanger.setExpectedLastChangeDidNotCauseTestsToFailCalls(0);
90         mockClassSourceCodeChanger.setExpectedLastChangeCausedTestsToFailCalls(1);
91
92         ClassTestTester classTestTester = newRealClassTestTester(mockTestRunner);
93
94         classTestTester.testUsing(mockClassSourceCodeChanger);
95
96         mockClassSourceCodeChanger.verify();
97     }
98
99     private ClassTestTester newRealClassTestTester(TestRunner aTestRunner) {
100         MutationsList aMutationsList = new MockMutationsList();
101         return new RealClassTestTester(aTestRunner, aMutationsList);
102     }
103
104     public void testThatMutationListIsUsed() throws SourceChangeException {
105         MockTestRunner mockTestRunner = new MockTestRunner();
106
107         MockClassSourceChanger mockClassSourceCodeChanger = new MockClassSourceChanger();
108         mockClassSourceCodeChanger.setOriginalContents("includes nothing that will be changed");
109
110         MockMutationsList aMockMutationsList = new MockMutationsList();
111         aMockMutationsList.setExpectedVisitCalls(1);
112
113         ClassTestTester classTestTester = new RealClassTestTester(mockTestRunner, aMockMutationsList);
114
115         classTestTester.testUsing(mockClassSourceCodeChanger);
116
117         aMockMutationsList.verify();
118     }
119 }
Popular Tags