EMMA Coverage Report (generated Mon Nov 29 14:43:38 PST 2010)
[all classes][com.jeantessier.classreader]

COVERAGE SUMMARY FOR SOURCE FILE [TestJarClassfileLoader.java]

nameclass, %method, %block, %line, %
TestJarClassfileLoader.java100% (1/1)100% (6/6)100% (371/371)100% (58/58)

COVERAGE BREAKDOWN BY CLASS AND METHOD

nameclass, %method, %block, %line, %
     
class TestJarClassfileLoader100% (1/1)100% (6/6)100% (371/371)100% (58/58)
TestJarClassfileLoader (): void 100% (1/1)100% (3/3)100% (1/1)
setUp (): void 100% (1/1)100% (16/16)100% (5/5)
testLoadFile (): void 100% (1/1)100% (86/86)100% (13/13)
testLoadInputStream (): void 100% (1/1)100% (90/90)100% (13/13)
testLoadWrongFile (): void 100% (1/1)100% (86/86)100% (13/13)
testLoadWrongInputStream (): void 100% (1/1)100% (90/90)100% (13/13)

1/*
2 *  Copyright (c) 2001-2009, Jean Tessier
3 *  All rights reserved.
4 *  
5 *  Redistribution and use in source and binary forms, with or without
6 *  modification, are permitted provided that the following conditions
7 *  are met:
8 *  
9 *      * Redistributions of source code must retain the above copyright
10 *        notice, this list of conditions and the following disclaimer.
11 *  
12 *      * Redistributions in binary form must reproduce the above copyright
13 *        notice, this list of conditions and the following disclaimer in the
14 *        documentation and/or other materials provided with the distribution.
15 *  
16 *      * Neither the name of Jean Tessier nor the names of his contributors
17 *        may be used to endorse or promote products derived from this software
18 *        without specific prior written permission.
19 *  
20 *  THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
21 *  "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
22 *  LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
23 *  A PARTICULAR PURPOSE ARE DISCLAIMED.  IN NO EVENT SHALL THE REGENTS OR
24 *  CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL,
25 *  EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO,
26 *  PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR
27 *  PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF
28 *  LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING
29 *  NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS
30 *  SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
31 */
32 
33package com.jeantessier.classreader;
34 
35import java.io.*;
36 
37public class TestJarClassfileLoader extends TestClassfileLoaderBase {
38    private ClassfileLoader loader;
39    
40    protected void setUp() throws Exception {
41        super.setUp();
42 
43        ClassfileLoader eventSource = new TransientClassfileLoader();
44        eventSource.addLoadListener(this);
45        loader = new JarClassfileLoader(eventSource);
46    }
47 
48    public void testLoadFile() {
49        String filename = TEST_DIR + File.separator + "onelevel.jar";
50        assertTrue(filename + " missing", new File(filename).exists());
51        
52        loader.load(filename);
53 
54        assertEquals("Begin Session",    0, getBeginSessionEvents().size());
55        assertEquals("Begin Group",      1, getBeginGroupEvents().size());
56        assertEquals("Begin File",      33, getBeginFileEvents().size());
57        assertEquals("Begin Classfile", 14, getBeginClassfileEvents().size());
58        assertEquals("End Classfile",   14, getEndClassfileEvents().size());
59        assertEquals("End File",        33, getEndFileEvents().size());
60        assertEquals("End Group",        1, getEndGroupEvents().size());
61        assertEquals("End Session",      0, getEndSessionEvents().size());
62 
63        assertEquals("Group size", 33, getBeginGroupEvents().getFirst().getSize());
64    }
65 
66    public void testLoadWrongFile() {
67        String filename = TEST_DIR + File.separator + "onelevel.mis";
68        assertTrue(filename + " missing", new File(filename).exists());
69        
70        loader.load(filename);
71 
72        assertEquals("Begin Session",    0, getBeginSessionEvents().size());
73        assertEquals("Begin Group",      1, getBeginGroupEvents().size());
74        assertEquals("Begin File",      31, getBeginFileEvents().size());
75        assertEquals("Begin Classfile", 14, getBeginClassfileEvents().size());
76        assertEquals("End Classfile",   14, getEndClassfileEvents().size());
77        assertEquals("End File",        31, getEndFileEvents().size());
78        assertEquals("End Group",        1, getEndGroupEvents().size());
79        assertEquals("End Session",      0, getEndSessionEvents().size());
80 
81        assertEquals("Group size", 31, getBeginGroupEvents().getFirst().getSize());
82    }
83 
84    public void testLoadInputStream() throws IOException {
85        String filename = TEST_DIR + File.separator + "onelevel.jar";
86        assertTrue(filename + " missing", new File(filename).exists());
87        
88        loader.load(filename, new FileInputStream(filename));
89 
90        assertEquals("Begin Session",    0, getBeginSessionEvents().size());
91        assertEquals("Begin Group",      1, getBeginGroupEvents().size());
92        assertEquals("Begin File",      31, getBeginFileEvents().size());
93        assertEquals("Begin Classfile", 14, getBeginClassfileEvents().size());
94        assertEquals("End Classfile",   14, getEndClassfileEvents().size());
95        assertEquals("End File",        31, getEndFileEvents().size());
96        assertEquals("End Group",        1, getEndGroupEvents().size());
97        assertEquals("End Session",      0, getEndSessionEvents().size());
98 
99        assertEquals("Group size", -1, getBeginGroupEvents().getFirst().getSize());
100    }
101 
102    public void testLoadWrongInputStream() throws IOException {
103        String filename = TEST_DIR + File.separator + "onelevel.mis";
104        assertTrue(filename + " missing", new File(filename).exists());
105        
106        loader.load(filename, new FileInputStream(filename));
107 
108        assertEquals("Begin Session",    0, getBeginSessionEvents().size());
109        assertEquals("Begin Group",      1, getBeginGroupEvents().size());
110        assertEquals("Begin File",      31, getBeginFileEvents().size());
111        assertEquals("Begin Classfile", 14, getBeginClassfileEvents().size());
112        assertEquals("End Classfile",   14, getEndClassfileEvents().size());
113        assertEquals("End File",        31, getEndFileEvents().size());
114        assertEquals("End Group",        1, getEndGroupEvents().size());
115        assertEquals("End Session",      0, getEndSessionEvents().size());
116 
117        assertEquals("Group size", -1, getBeginGroupEvents().getFirst().getSize());
118    }
119}

[all classes][com.jeantessier.classreader]
EMMA 2.0.5312 (C) Vladimir Roubtsov