1 | |
|
2 | |
|
3 | |
|
4 | |
|
5 | |
|
6 | |
|
7 | |
|
8 | |
|
9 | |
|
10 | |
|
11 | |
|
12 | |
|
13 | |
|
14 | |
|
15 | |
|
16 | |
|
17 | |
|
18 | |
|
19 | |
|
20 | |
|
21 | |
|
22 | |
|
23 | |
|
24 | |
|
25 | |
|
26 | |
|
27 | |
|
28 | |
|
29 | |
|
30 | |
|
31 | |
|
32 | |
|
33 | |
package com.jeantessier.classreader; |
34 | |
|
35 | |
import java.io.*; |
36 | |
|
37 | 4 | public class TestJarClassfileLoader extends TestClassfileLoaderBase { |
38 | |
private ClassfileLoader loader; |
39 | |
|
40 | |
protected void setUp() throws Exception { |
41 | 4 | super.setUp(); |
42 | |
|
43 | 4 | ClassfileLoader eventSource = new TransientClassfileLoader(); |
44 | 4 | eventSource.addLoadListener(this); |
45 | 4 | loader = new JarClassfileLoader(eventSource); |
46 | 4 | } |
47 | |
|
48 | |
public void testLoadFile() { |
49 | 1 | String filename = TEST_DIR + File.separator + "onelevel.jar"; |
50 | 1 | assertTrue(filename + " missing", new File(filename).exists()); |
51 | |
|
52 | 1 | loader.load(filename); |
53 | |
|
54 | 1 | assertEquals("Begin Session", 0, getBeginSessionEvents().size()); |
55 | 1 | assertEquals("Begin Group", 1, getBeginGroupEvents().size()); |
56 | 1 | assertEquals("Begin File", 33, getBeginFileEvents().size()); |
57 | 1 | assertEquals("Begin Classfile", 14, getBeginClassfileEvents().size()); |
58 | 1 | assertEquals("End Classfile", 14, getEndClassfileEvents().size()); |
59 | 1 | assertEquals("End File", 33, getEndFileEvents().size()); |
60 | 1 | assertEquals("End Group", 1, getEndGroupEvents().size()); |
61 | 1 | assertEquals("End Session", 0, getEndSessionEvents().size()); |
62 | |
|
63 | 1 | assertEquals("Group size", 33, getBeginGroupEvents().getFirst().getSize()); |
64 | 1 | } |
65 | |
|
66 | |
public void testLoadWrongFile() { |
67 | 1 | String filename = TEST_DIR + File.separator + "onelevel.mis"; |
68 | 1 | assertTrue(filename + " missing", new File(filename).exists()); |
69 | |
|
70 | 1 | loader.load(filename); |
71 | |
|
72 | 1 | assertEquals("Begin Session", 0, getBeginSessionEvents().size()); |
73 | 1 | assertEquals("Begin Group", 1, getBeginGroupEvents().size()); |
74 | 1 | assertEquals("Begin File", 31, getBeginFileEvents().size()); |
75 | 1 | assertEquals("Begin Classfile", 14, getBeginClassfileEvents().size()); |
76 | 1 | assertEquals("End Classfile", 14, getEndClassfileEvents().size()); |
77 | 1 | assertEquals("End File", 31, getEndFileEvents().size()); |
78 | 1 | assertEquals("End Group", 1, getEndGroupEvents().size()); |
79 | 1 | assertEquals("End Session", 0, getEndSessionEvents().size()); |
80 | |
|
81 | 1 | assertEquals("Group size", 31, getBeginGroupEvents().getFirst().getSize()); |
82 | 1 | } |
83 | |
|
84 | |
public void testLoadInputStream() throws IOException { |
85 | 1 | String filename = TEST_DIR + File.separator + "onelevel.jar"; |
86 | 1 | assertTrue(filename + " missing", new File(filename).exists()); |
87 | |
|
88 | 1 | loader.load(filename, new FileInputStream(filename)); |
89 | |
|
90 | 1 | assertEquals("Begin Session", 0, getBeginSessionEvents().size()); |
91 | 1 | assertEquals("Begin Group", 1, getBeginGroupEvents().size()); |
92 | 1 | assertEquals("Begin File", 31, getBeginFileEvents().size()); |
93 | 1 | assertEquals("Begin Classfile", 14, getBeginClassfileEvents().size()); |
94 | 1 | assertEquals("End Classfile", 14, getEndClassfileEvents().size()); |
95 | 1 | assertEquals("End File", 31, getEndFileEvents().size()); |
96 | 1 | assertEquals("End Group", 1, getEndGroupEvents().size()); |
97 | 1 | assertEquals("End Session", 0, getEndSessionEvents().size()); |
98 | |
|
99 | 1 | assertEquals("Group size", -1, getBeginGroupEvents().getFirst().getSize()); |
100 | 1 | } |
101 | |
|
102 | |
public void testLoadWrongInputStream() throws IOException { |
103 | 1 | String filename = TEST_DIR + File.separator + "onelevel.mis"; |
104 | 1 | assertTrue(filename + " missing", new File(filename).exists()); |
105 | |
|
106 | 1 | loader.load(filename, new FileInputStream(filename)); |
107 | |
|
108 | 1 | assertEquals("Begin Session", 0, getBeginSessionEvents().size()); |
109 | 1 | assertEquals("Begin Group", 1, getBeginGroupEvents().size()); |
110 | 1 | assertEquals("Begin File", 31, getBeginFileEvents().size()); |
111 | 1 | assertEquals("Begin Classfile", 14, getBeginClassfileEvents().size()); |
112 | 1 | assertEquals("End Classfile", 14, getEndClassfileEvents().size()); |
113 | 1 | assertEquals("End File", 31, getEndFileEvents().size()); |
114 | 1 | assertEquals("End Group", 1, getEndGroupEvents().size()); |
115 | 1 | assertEquals("End Session", 0, getEndSessionEvents().size()); |
116 | |
|
117 | 1 | assertEquals("Group size", -1, getBeginGroupEvents().getFirst().getSize()); |
118 | 1 | } |
119 | |
} |