1 /* Copyright (c) 2000-2003, jMock.org. See bundled LICENSE.txt */
2 package org.jmock.expectation;
3
4 import junit.framework.AssertionFailedError;
5 import org.jmock.AbstractTestCase;
6
7 import java.util.Vector;
8
9 public abstract class AbstractTestExpectationCollection extends AbstractTestCase {
10 ExpectationCollection myExpectation;
11
12 public void testEmpty() {
13 myExpectation.verify();
14 }
15
16 public void testFailImmediately() {
17 myExpectation.addExpected("A");
18 myExpectation.addExpected("B");
19
20 myExpectation.addActual("A");
21 try {
22 myExpectation.addActual("C");
23 } catch (AssertionFailedError ex) {
24 return;
25 }
26 fail("Should have failed immediately");
27 }
28
29 public void testFailImmediatelyAddingTooMany() {
30 myExpectation.addExpected("A");
31
32 myExpectation.addActual("A");
33 try {
34 myExpectation.addActual("C");
35 } catch (AssertionFailedError ex) {
36 return;
37 }
38 fail("Should have failed immediately");
39 }
40
41 public void testFailOnSizes() {
42 myExpectation.addExpected("A");
43 myExpectation.addExpected("B");
44
45 myExpectation.addActual("A");
46 myExpectation.addActual("B");
47
48 try {
49 myExpectation.addActual("C");
50 } catch (AssertionFailedError ex) {
51 return;
52 }
53 fail("Should have failed immediately");
54 }
55
56 public void testFailOnVerify() {
57 myExpectation.setFailOnVerify();
58 myExpectation.addExpectedMany(new String[]{"A", "B"});
59
60 myExpectation.addActualMany(new String[]{"C", "A"});
61
62 assertVerifyFails(myExpectation);
63 }
64
65 public void testFlushActual() {
66
67 myExpectation.addActual("a value");
68
69 myExpectation.setExpectNothing();
70 myExpectation.verify();
71 }
72
73 public void testHasExpectations() {
74 assertTrue(
75 "Should not have any expectations",
76 !myExpectation.hasExpectations());
77
78 myExpectation.addExpected("item");
79
80 assertTrue("Should have an expectation", myExpectation.hasExpectations());
81 }
82
83 public void testHasExpectationsForAddingManyArray() {
84 assertTrue(
85 "Should not have any expectations",
86 !myExpectation.hasExpectations());
87
88 myExpectation.addExpectedMany(new Object[0]);
89
90 assertTrue("Should have an expectation", myExpectation.hasExpectations());
91 }
92
93 public void testHasExpectationsForAddingManyVector() {
94 assertTrue(
95 "Should not have any expectations",
96 !myExpectation.hasExpectations());
97
98 myExpectation.addExpectedMany(new Vector().elements());
99
100 assertTrue("Should have an expectation", myExpectation.hasExpectations());
101 }
102
103 public void testHasNoExpectations() {
104
105 myExpectation.addActual("a value");
106 assertTrue("Has no expectations", !myExpectation.hasExpectations());
107 }
108
109 public void testManyFromEnumeration() {
110 Vector expectedItems = new Vector();
111 expectedItems.addElement("A");
112 expectedItems.addElement("B");
113
114 Vector actualItems = (Vector) expectedItems.clone();
115
116 myExpectation.addExpectedMany(expectedItems.elements());
117
118 myExpectation.addActualMany(actualItems.elements());
119
120 myExpectation.verify();
121 }
122
123 public void testManyFromIterator() {
124 Vector expectedItems = new Vector();
125 expectedItems.addElement("A");
126 expectedItems.addElement("B");
127
128 Vector actualItems = (Vector) expectedItems.clone();
129
130 myExpectation.addExpectedMany(expectedItems.iterator());
131
132 myExpectation.addActualMany(actualItems.iterator());
133
134 myExpectation.verify();
135 }
136
137 public void testMultiFailureFromEnumeration() {
138 Vector expectedItems = new Vector();
139 expectedItems.addElement("A");
140 expectedItems.addElement("B");
141
142 Vector actualItems = new Vector();
143 actualItems.addElement("A");
144 actualItems.addElement("C");
145
146 myExpectation.addExpectedMany(expectedItems.elements());
147 myExpectation.setFailOnVerify();
148
149 myExpectation.addActualMany(actualItems.elements());
150
151 assertVerifyFails(myExpectation);
152 }
153
154 public void testMultiFailureFromIterator() {
155 Vector expectedItems = new Vector();
156 expectedItems.addElement("A");
157 expectedItems.addElement("B");
158
159 Vector actualItems = new Vector();
160 actualItems.addElement("A");
161 actualItems.addElement("C");
162
163 myExpectation.addExpectedMany(expectedItems.iterator());
164 myExpectation.setFailOnVerify();
165
166 myExpectation.addActualMany(actualItems.iterator());
167
168 assertVerifyFails(myExpectation);
169 }
170
171 public void testMultiFailureSizes() {
172 myExpectation.addExpectedMany(new String[]{"A", "B"});
173 myExpectation.setFailOnVerify();
174
175 myExpectation.addActualMany(new String[]{"A", "B", "C"});
176
177 assertVerifyFails(myExpectation);
178 }
179
180 public void testExpectingALong() {
181 final long expectedLong = 666l;
182
183 myExpectation.addExpected(expectedLong);
184 myExpectation.addActual(expectedLong);
185
186 myExpectation.verify();
187 }
188 }
This page was automatically generated by Maven