1 |
|
|
2 |
|
|
3 |
|
|
4 |
|
|
5 |
|
|
6 |
|
|
7 |
|
|
8 |
|
|
9 |
|
|
10 |
|
|
11 |
|
|
12 |
|
|
13 |
|
|
14 |
|
|
15 |
|
|
16 |
|
|
17 |
|
package org.easymock.tests2; |
18 |
|
|
19 |
|
import static org.easymock.EasyMock.*; |
20 |
|
import static org.junit.Assert.*; |
21 |
|
|
22 |
|
import org.easymock.IAnswer; |
23 |
|
import org.easymock.tests.IMethods; |
24 |
|
import org.junit.Before; |
25 |
|
import org.junit.Test; |
26 |
|
|
27 |
|
|
28 |
|
@author |
29 |
|
|
|
|
| 100% |
Uncovered Elements: 0 (29) |
Complexity: 6 |
Complexity Density: 0,22 |
|
30 |
|
public class CallbackTest { |
31 |
|
|
32 |
|
private IMethods mock; |
33 |
|
|
|
|
| 87,5% |
Uncovered Elements: 1 (8) |
Complexity: 4 |
Complexity Density: 1 |
|
34 |
|
private static class Callback<T> implements IAnswer<T> { |
35 |
|
private int callCount; |
36 |
|
|
37 |
|
private final T result; |
38 |
|
|
|
|
| 100% |
Uncovered Elements: 0 (1) |
Complexity: 1 |
Complexity Density: 1 |
|
39 |
6
|
public Callback(final T result) {... |
40 |
6
|
this.result = result; |
41 |
|
} |
42 |
|
|
|
|
| - |
Uncovered Elements: 0 (0) |
Complexity: 1 |
Complexity Density: - |
|
43 |
0
|
public void run() {... |
44 |
|
} |
45 |
|
|
|
|
| 100% |
Uncovered Elements: 0 (1) |
Complexity: 1 |
Complexity Density: 1 |
|
46 |
6
|
public int getCallCount() {... |
47 |
6
|
return callCount; |
48 |
|
} |
49 |
|
|
|
|
| 100% |
Uncovered Elements: 0 (2) |
Complexity: 1 |
Complexity Density: 0,5 |
|
50 |
10
|
public T answer() throws Throwable {... |
51 |
10
|
callCount++; |
52 |
10
|
return result; |
53 |
|
} |
54 |
|
} |
55 |
|
|
|
|
| 100% |
Uncovered Elements: 0 (1) |
Complexity: 1 |
Complexity Density: 1 |
|
56 |
2
|
@Before... |
57 |
|
public void setUp() { |
58 |
2
|
mock = createStrictMock(IMethods.class); |
59 |
|
} |
60 |
|
|
|
|
| 100% |
Uncovered Elements: 0 (26) |
Complexity: 5 |
Complexity Density: 0,19 |
1
PASS
|
|
61 |
2
|
@Test... |
62 |
|
public void callback() { |
63 |
2
|
final Callback<String> c1 = new Callback<String>("1"); |
64 |
2
|
final Callback<Object> c2 = new Callback<Object>(null); |
65 |
2
|
final Callback<Object> c3 = new Callback<Object>(null); |
66 |
|
|
67 |
2
|
expect(mock.oneArg("2")).andAnswer(c1).times(2); |
68 |
2
|
mock.simpleMethodWithArgument("One"); |
69 |
2
|
expectLastCall().andAnswer(c2); |
70 |
2
|
mock.simpleMethodWithArgument("Two"); |
71 |
2
|
expectLastCall().andAnswer(c3).times(2); |
72 |
|
|
73 |
2
|
replay(mock); |
74 |
|
|
75 |
2
|
mock.oneArg("2"); |
76 |
2
|
mock.oneArg("2"); |
77 |
2
|
try { |
78 |
2
|
mock.oneArg("2"); |
79 |
|
} catch (final AssertionError ignored) { |
80 |
|
} |
81 |
2
|
try { |
82 |
2
|
mock.simpleMethodWithArgument("Two"); |
83 |
|
} catch (final AssertionError ignored) { |
84 |
|
} |
85 |
2
|
mock.simpleMethodWithArgument("One"); |
86 |
2
|
try { |
87 |
2
|
mock.simpleMethodWithArgument("One"); |
88 |
|
} catch (final AssertionError ignored) { |
89 |
|
} |
90 |
2
|
mock.simpleMethodWithArgument("Two"); |
91 |
2
|
mock.simpleMethodWithArgument("Two"); |
92 |
2
|
try { |
93 |
2
|
mock.simpleMethodWithArgument("Two"); |
94 |
|
} catch (final AssertionError ignored) { |
95 |
|
} |
96 |
2
|
verify(mock); |
97 |
|
|
98 |
2
|
assertEquals(2, c1.getCallCount()); |
99 |
2
|
assertEquals(1, c2.getCallCount()); |
100 |
2
|
assertEquals(2, c3.getCallCount()); |
101 |
|
} |
102 |
|
} |