KickJava   Java API By Example, From Geeks To Geeks.

Java > Open Source Codes > jester > tests > MockClassSourceChanger


1 package jester.tests;
2
3 import jester.*;
4 import junit.framework.Assert;
5
6 public class MockClassSourceChanger implements ClassSourceCodeChanger {
7     private IgnoreListDocument originalContents;
8     private boolean throwExceptionOnFirstChangeAttempt = false;
9
10     private int expectedIndex;
11     private String JavaDoc expectedOldContents;
12     private String JavaDoc expectedNewContents;
13
14     private int actualWriteOverSourceReplacingCalls = 0;
15     private int expectedWriteOverSourceReplacingCalls = 0;
16
17     private int actualWriteOriginalBackCalls = 0;
18     private int expectedWriteOriginalBackCalls = 0;
19
20     private int actualReportLastChangeCalls = 0;
21     private int expectedReportLastChangeCalls = 0;
22     private int expectedLastChangeCausedTestsToFailCalls = 0;
23     private int actualLastChangeCausedTestsToFailCalls = 0;
24     public MockClassSourceChanger() {
25         super();
26     }
27     public IgnoreListDocument getOriginalContents() {
28         return originalContents;
29     }
30
31     public void setExpectedLastChangeCausedTestsToFailCalls(int calls) {
32         expectedLastChangeCausedTestsToFailCalls = calls;
33     }
34     public void setExpectedLastChangeDidNotCauseTestsToFailCalls(int calls) {
35         expectedReportLastChangeCalls = calls;
36     }
37     public void setExpectedWriteOriginalBackCalls(int calls) {
38         expectedWriteOriginalBackCalls = calls;
39     }
40     public void setExpectedWriteOverSourceReplacing(int index, String JavaDoc oldContents, String JavaDoc newContents) {
41         expectedIndex = index;
42         expectedOldContents = oldContents;
43         expectedNewContents = newContents;
44     }
45     public void setExpectedWriteOverSourceReplacingCalls(int calls) {
46         expectedWriteOverSourceReplacingCalls = calls;
47     }
48     public void setOriginalContents(IgnoreListDocument contents) {
49         originalContents = contents;
50     }
51     public void setOriginalContents(String JavaDoc contents){
52         setOriginalContents(contents, new IgnoreList(""));
53     }
54     public void setOriginalContents(String JavaDoc contents, IgnoreList anIgnoreList) {
55         try {
56             originalContents = new IgnoreListDocument(contents, anIgnoreList);
57         } catch (ConfigurationException e) {
58             throw new RuntimeException JavaDoc("test setup failed doing MockClassSourceChanger.setOriginalContents");
59         }
60     }
61     public void setThrowExceptionOnFirstChangeAttempt(boolean throwExceptionOnFirstChangeAttempt) {
62         this.throwExceptionOnFirstChangeAttempt = throwExceptionOnFirstChangeAttempt;
63     }
64     public void verify() {
65         Assert.assertEquals("WriteOverSourceReplacingCalls", expectedWriteOverSourceReplacingCalls, actualWriteOverSourceReplacingCalls);
66         Assert.assertEquals("WriteOriginalBackCalls", expectedWriteOriginalBackCalls, actualWriteOriginalBackCalls);
67         Assert.assertEquals("ReportLastChangeCalls", expectedReportLastChangeCalls, actualReportLastChangeCalls);
68         Assert.assertEquals("ReportLastChangeCalls", expectedLastChangeCausedTestsToFailCalls, actualLastChangeCausedTestsToFailCalls);
69         Assert.assertEquals("StartJestingCalls", expectedStartJestingCalls, actualStartJestingCalls);
70         Assert.assertEquals("FinishJestingCalls", expectedFinishJestingCalls, actualFinishJestingCalls);
71     }
72     public void writeOriginalContentsBack() {
73         actualWriteOriginalBackCalls++;
74     }
75     public void writeOverSourceReplacing(int index, String JavaDoc oldContents, String JavaDoc newContents) throws SourceChangeException {
76         actualWriteOverSourceReplacingCalls++;
77         if (throwExceptionOnFirstChangeAttempt) {
78             throwExceptionOnFirstChangeAttempt = false;
79             throw new SourceChangeException("mock threw exception");
80         }
81         Assert.assertEquals(expectedIndex, index);
82         Assert.assertEquals(expectedOldContents, oldContents);
83         Assert.assertEquals(expectedNewContents, newContents);
84     }
85
86     private int actualFinishJestingCalls = 0;
87     private int actualStartJestingCalls = 0;
88     private int expectedFinishJestingCalls = 0;
89     private int expectedStartJestingCalls = 0;
90
91     public void finishJesting() {
92         actualFinishJestingCalls++;
93     }
94
95     public void lastChangeCausedTestsToFail() {
96         actualLastChangeCausedTestsToFailCalls++;
97     }
98
99     public void lastChangeDidNotCauseTestsToFail() {
100         actualReportLastChangeCalls++;
101     }
102
103     public void setExpectedFinishJestingCalls(int calls) {
104         expectedFinishJestingCalls = calls;
105     }
106
107     public void setExpectedStartJestingCalls(int calls) {
108         expectedStartJestingCalls = calls;
109     }
110
111     public void startJesting() {
112         actualStartJestingCalls++;
113     }
114 }
Popular Tags