1 |
|
|
2 |
|
|
3 |
|
|
4 |
|
|
5 |
|
|
6 |
|
|
7 |
|
|
8 |
|
|
9 |
|
|
10 |
|
|
11 |
|
|
12 |
|
|
13 |
|
|
14 |
|
|
15 |
|
|
16 |
|
|
17 |
|
package org.easymock.tests; |
18 |
|
|
19 |
|
import static org.easymock.EasyMock.*; |
20 |
|
import static org.junit.Assert.*; |
21 |
|
|
22 |
|
import java.io.Serializable; |
23 |
|
|
24 |
|
import org.easymock.internal.ClassInstantiatorFactory; |
25 |
|
import org.easymock.internal.DefaultClassInstantiator; |
26 |
|
import org.junit.AfterClass; |
27 |
|
import org.junit.BeforeClass; |
28 |
|
import org.junit.Test; |
29 |
|
|
30 |
|
|
31 |
|
|
32 |
|
|
33 |
|
|
34 |
|
|
35 |
|
|
36 |
|
@author |
37 |
|
|
|
|
| 92,3% |
Uncovered Elements: 3 (39) |
Complexity: 18 |
Complexity Density: 0,75 |
|
38 |
|
public class DefaultClassInstantiatorTest { |
39 |
|
|
|
|
| 100% |
Uncovered Elements: 0 (1) |
Complexity: 1 |
Complexity Density: - |
|
40 |
|
public static class PrimitiveParamClass { |
|
|
| - |
Uncovered Elements: 0 (0) |
Complexity: 1 |
Complexity Density: - |
|
41 |
2
|
public PrimitiveParamClass(final int i) {... |
42 |
|
} |
43 |
|
} |
44 |
|
|
|
|
| 100% |
Uncovered Elements: 0 (1) |
Complexity: 1 |
Complexity Density: - |
|
45 |
|
public static class FinalParamClass { |
|
|
| - |
Uncovered Elements: 0 (0) |
Complexity: 1 |
Complexity Density: - |
|
46 |
4
|
public FinalParamClass(final String i) {... |
47 |
|
} |
48 |
|
} |
49 |
|
|
|
|
| 100% |
Uncovered Elements: 0 (1) |
Complexity: 1 |
Complexity Density: - |
|
50 |
|
public static class ProtectedConstructorClass { |
|
|
| - |
Uncovered Elements: 0 (0) |
Complexity: 1 |
Complexity Density: - |
|
51 |
2
|
protected ProtectedConstructorClass() {... |
52 |
|
} |
53 |
|
} |
54 |
|
|
|
|
| 100% |
Uncovered Elements: 0 (1) |
Complexity: 1 |
Complexity Density: - |
|
55 |
|
public static class ProtectedWithPrimitiveConstructorClass { |
|
|
| - |
Uncovered Elements: 0 (0) |
Complexity: 1 |
Complexity Density: - |
|
56 |
2
|
protected ProtectedWithPrimitiveConstructorClass(final int i) {... |
57 |
|
} |
58 |
|
} |
59 |
|
|
|
|
| 100% |
Uncovered Elements: 0 (1) |
Complexity: 1 |
Complexity Density: - |
|
60 |
|
public static class ParamClass { |
|
|
| - |
Uncovered Elements: 0 (0) |
Complexity: 1 |
Complexity Density: - |
|
61 |
2
|
public ParamClass(final FinalParamClass f) {... |
62 |
|
} |
63 |
|
} |
64 |
|
|
|
|
| 100% |
Uncovered Elements: 0 (1) |
Complexity: 1 |
Complexity Density: - |
|
65 |
|
public static class ObjectParamClass { |
|
|
| - |
Uncovered Elements: 0 (0) |
Complexity: 1 |
Complexity Density: - |
|
66 |
2
|
public ObjectParamClass(final ParamClass c) {... |
67 |
|
} |
68 |
|
} |
69 |
|
|
|
|
| 0% |
Uncovered Elements: 1 (1) |
Complexity: 1 |
Complexity Density: - |
|
70 |
|
public static class PrivateConstructorClass { |
|
|
| - |
Uncovered Elements: 0 (0) |
Complexity: 1 |
Complexity Density: - |
|
71 |
0
|
private PrivateConstructorClass() {... |
72 |
|
} |
73 |
|
} |
74 |
|
|
|
|
| 100% |
Uncovered Elements: 0 (2) |
Complexity: 1 |
Complexity Density: 1 |
|
75 |
|
public static class ConstructorWithCodeClass { |
|
|
| 100% |
Uncovered Elements: 0 (1) |
Complexity: 1 |
Complexity Density: 1 |
|
76 |
2
|
public ConstructorWithCodeClass() {... |
77 |
2
|
throw new RuntimeException(); |
78 |
|
} |
79 |
|
} |
80 |
|
|
81 |
|
@SuppressWarnings("serial") |
|
|
| 0% |
Uncovered Elements: 2 (2) |
Complexity: 1 |
Complexity Density: 1 |
|
82 |
|
public static class SerializableClass implements Serializable { |
|
|
| 0% |
Uncovered Elements: 1 (1) |
Complexity: 1 |
Complexity Density: 1 |
|
83 |
0
|
public SerializableClass() {... |
84 |
0
|
throw new RuntimeException(); |
85 |
|
} |
86 |
|
} |
87 |
|
|
88 |
|
@SuppressWarnings("serial") |
|
|
| 0% |
Uncovered Elements: 2 (2) |
Complexity: 1 |
Complexity Density: 1 |
|
89 |
|
public static class BadlyDoneSerializableClass implements Serializable { |
90 |
|
|
91 |
|
private final long serialVersionUID = 2; |
92 |
|
|
|
|
| 0% |
Uncovered Elements: 1 (1) |
Complexity: 1 |
Complexity Density: 1 |
|
93 |
0
|
public BadlyDoneSerializableClass() {... |
94 |
0
|
throw new RuntimeException(); |
95 |
|
} |
96 |
|
} |
97 |
|
|
98 |
|
private final String vendor = null; |
99 |
|
|
|
|
| 100% |
Uncovered Elements: 0 (1) |
Complexity: 1 |
Complexity Density: 1 |
|
100 |
2
|
@BeforeClass... |
101 |
|
public static void setUp() throws Exception { |
102 |
|
|
103 |
2
|
ClassInstantiatorFactory.setInstantiator(new DefaultClassInstantiator()); |
104 |
|
} |
105 |
|
|
|
|
| 100% |
Uncovered Elements: 0 (1) |
Complexity: 1 |
Complexity Density: 1 |
|
106 |
2
|
@AfterClass... |
107 |
|
public static void tearDown() throws Exception { |
108 |
|
|
109 |
2
|
ClassInstantiatorFactory.setDefaultInstantiator(); |
110 |
|
} |
111 |
|
|
|
|
| 100% |
Uncovered Elements: 0 (1) |
Complexity: 1 |
Complexity Density: 1 |
1
PASS
|
|
112 |
2
|
@Test... |
113 |
|
public void emptyConstructor() throws Exception { |
114 |
2
|
checkInstatiation(DefaultClassInstantiator.class); |
115 |
|
} |
116 |
|
|
|
|
| 100% |
Uncovered Elements: 0 (1) |
Complexity: 1 |
Complexity Density: 1 |
1
PASS
|
|
117 |
2
|
@Test... |
118 |
|
public void primitiveType() throws Exception { |
119 |
2
|
checkInstatiation(PrimitiveParamClass.class); |
120 |
|
} |
121 |
|
|
|
|
| 100% |
Uncovered Elements: 0 (1) |
Complexity: 1 |
Complexity Density: 1 |
1
PASS
|
|
122 |
2
|
@Test... |
123 |
|
public void finalType() throws Exception { |
124 |
2
|
checkInstatiation(FinalParamClass.class); |
125 |
|
} |
126 |
|
|
|
|
| 100% |
Uncovered Elements: 0 (1) |
Complexity: 1 |
Complexity Density: 1 |
1
PASS
|
|
127 |
2
|
@Test... |
128 |
|
public void protectedConstructor() throws Exception { |
129 |
2
|
checkInstatiation(ProtectedConstructorClass.class); |
130 |
|
} |
131 |
|
|
|
|
| 100% |
Uncovered Elements: 0 (1) |
Complexity: 1 |
Complexity Density: 1 |
1
PASS
|
|
132 |
2
|
@Test... |
133 |
|
public void protectedWithPrimitiveConstructor() throws Exception { |
134 |
2
|
checkInstatiation(ProtectedWithPrimitiveConstructorClass.class); |
135 |
|
} |
136 |
|
|
|
|
| 100% |
Uncovered Elements: 0 (1) |
Complexity: 1 |
Complexity Density: 1 |
1
PASS
|
|
137 |
2
|
@Test... |
138 |
|
public void objectParamRecusion() throws Exception { |
139 |
2
|
checkInstatiation(ObjectParamClass.class); |
140 |
|
} |
141 |
|
|
|
|
| 66,7% |
Uncovered Elements: 1 (3) |
Complexity: 2 |
Complexity Density: 0,67 |
1
PASS
|
|
142 |
2
|
@Test... |
143 |
|
public void constructorWithCodeLimitation() { |
144 |
2
|
try { |
145 |
2
|
createMock(ConstructorWithCodeClass.class); |
146 |
0
|
fail("Shouldn't be possible to mock, code in constructor should crash"); |
147 |
|
} catch (final Exception e) { |
148 |
|
} |
149 |
|
} |
150 |
|
|
|
|
| 66,7% |
Uncovered Elements: 1 (3) |
Complexity: 2 |
Complexity Density: 0,67 |
1
PASS
|
|
151 |
2
|
@Test... |
152 |
|
public void privateConstructorLimitation() { |
153 |
2
|
try { |
154 |
2
|
createMock(PrivateConstructorClass.class); |
155 |
0
|
fail("Shouldn't be able to mock a class with a private constructor using DefaultInstantiator"); |
156 |
|
} catch (final Exception e) { |
157 |
|
} |
158 |
|
} |
159 |
|
|
|
|
| 75% |
Uncovered Elements: 1 (4) |
Complexity: 2 |
Complexity Density: 0,5 |
1
PASS
|
|
160 |
2
|
@Test... |
161 |
|
public void privateConstructor() { |
162 |
2
|
final DefaultClassInstantiator instantiator = new DefaultClassInstantiator(); |
163 |
2
|
try { |
164 |
2
|
instantiator.newInstance(PrivateConstructorClass.class); |
165 |
0
|
fail("Shouldn't be able to mock a class with a private constructor using DefaultInstantiator"); |
166 |
|
} catch (final Exception e) { |
167 |
|
} |
168 |
|
} |
169 |
|
|
|
|
| 100% |
Uncovered Elements: 0 (1) |
Complexity: 1 |
Complexity Density: 1 |
1
PASS
|
|
170 |
2
|
@Test... |
171 |
|
public void newInstance() throws Exception { |
172 |
2
|
checkInstatiation(DefaultClassInstantiator.class); |
173 |
|
} |
174 |
|
|
|
|
| 100% |
Uncovered Elements: 0 (1) |
Complexity: 1 |
Complexity Density: 1 |
1
PASS
|
|
175 |
2
|
@Test... |
176 |
|
public void serializable() { |
177 |
2
|
checkInstatiation(SerializableClass.class); |
178 |
|
} |
179 |
|
|
|
|
| 100% |
Uncovered Elements: 0 (2) |
Complexity: 1 |
Complexity Density: 0,5 |
1
PASS
|
|
180 |
2
|
@Test... |
181 |
|
public void badSerializable() throws Exception { |
182 |
2
|
final DefaultClassInstantiator instantiator = new DefaultClassInstantiator(); |
183 |
2
|
instantiator.newInstance(BadlyDoneSerializableClass.class); |
184 |
|
} |
185 |
|
|
|
|
| 100% |
Uncovered Elements: 0 (2) |
Complexity: 1 |
Complexity Density: 0,5 |
|
186 |
16
|
private <T> void checkInstatiation(final Class<T> clazz) {... |
187 |
16
|
final T mock = createMock(clazz); |
188 |
16
|
assertTrue(clazz.isAssignableFrom(mock.getClass())); |
189 |
|
} |
190 |
|
} |