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.internal.ClassExtensionHelper.*; |
20 |
|
import static org.junit.Assert.*; |
21 |
|
|
22 |
|
import java.lang.reflect.InvocationHandler; |
23 |
|
import java.lang.reflect.Method; |
24 |
|
import java.lang.reflect.Proxy; |
25 |
|
import java.util.ArrayList; |
26 |
|
import java.util.List; |
27 |
|
|
28 |
|
import net.sf.cglib.proxy.Enhancer; |
29 |
|
import net.sf.cglib.proxy.NoOp; |
30 |
|
|
31 |
|
import org.easymock.EasyMock; |
32 |
|
import org.easymock.internal.MocksControl; |
33 |
|
import org.junit.Test; |
34 |
|
|
35 |
|
|
36 |
|
@author |
37 |
|
|
|
|
| 80% |
Uncovered Elements: 5 (25) |
Complexity: 9 |
Complexity Density: 0,47 |
|
38 |
|
public class ClassExtensionHelperTest { |
39 |
|
|
|
|
| 100% |
Uncovered Elements: 0 (2) |
Complexity: 1 |
Complexity Density: 0,5 |
1
PASS
|
|
40 |
2
|
@Test... |
41 |
|
public void testGetControl_EasyMock() { |
42 |
2
|
final List<?> mock = EasyMock.createMock(List.class); |
43 |
2
|
assertNotNull(getControl(mock)); |
44 |
|
} |
45 |
|
|
|
|
| 100% |
Uncovered Elements: 0 (2) |
Complexity: 1 |
Complexity Density: 0,5 |
1
PASS
|
|
46 |
2
|
@Test... |
47 |
|
public void testGetControl_EasyMockClassExtension() { |
48 |
2
|
final ArrayList<?> mock = EasyMock.createMock(ArrayList.class); |
49 |
2
|
assertTrue(getControl(mock) instanceof MocksControl); |
50 |
|
} |
51 |
|
|
|
|
| 80% |
Uncovered Elements: 1 (5) |
Complexity: 2 |
Complexity Density: 0,4 |
1
PASS
|
|
52 |
2
|
@Test... |
53 |
|
public void testGetControl_EnhancedButNotAMock() { |
54 |
2
|
final Object o = Enhancer.create(ArrayList.class, NoOp.INSTANCE); |
55 |
2
|
try { |
56 |
2
|
getControl(o); |
57 |
0
|
fail(); |
58 |
|
} catch (final IllegalArgumentException e) { |
59 |
2
|
assertEquals("Not a mock: " + o.getClass().getName(), e.getMessage()); |
60 |
|
} |
61 |
|
} |
62 |
|
|
|
|
| 80% |
Uncovered Elements: 1 (5) |
Complexity: 2 |
Complexity Density: 0,4 |
1
PASS
|
|
63 |
2
|
@Test... |
64 |
|
public void testGetControl_ProxyButNotMock() { |
65 |
2
|
final Object o = Proxy.newProxyInstance(getClass().getClassLoader(), new Class[] { List.class }, |
66 |
|
new InvocationHandler() { |
|
|
| 0% |
Uncovered Elements: 1 (1) |
Complexity: 1 |
Complexity Density: 1 |
|
67 |
0
|
public Object invoke(final Object proxy, final Method method, final Object[] args)... |
68 |
|
throws Throwable { |
69 |
0
|
return null; |
70 |
|
} |
71 |
|
}); |
72 |
2
|
try { |
73 |
2
|
getControl(o); |
74 |
0
|
fail(); |
75 |
|
} catch (final IllegalArgumentException e) { |
76 |
2
|
assertEquals("Not a mock: " + o.getClass().getName(), e.getMessage()); |
77 |
|
} |
78 |
|
} |
79 |
|
|
|
|
| 75% |
Uncovered Elements: 1 (4) |
Complexity: 2 |
Complexity Density: 0,5 |
1
PASS
|
|
80 |
2
|
@Test... |
81 |
|
public void testGetControl_NotAMock() { |
82 |
2
|
try { |
83 |
2
|
getControl(""); |
84 |
0
|
fail(); |
85 |
|
} catch (final IllegalArgumentException e) { |
86 |
2
|
assertEquals("Not a mock: " + String.class.getName(), e.getMessage()); |
87 |
|
} |
88 |
|
} |
89 |
|
} |