EMMA Coverage Report (generated Sat Oct 08 11:41:37 CEST 2011)
[all classes][net.sf.jomic.comic]

COVERAGE SUMMARY FOR SOURCE FILE [AbstractComicArchiveTest.java]

nameclass, %method, %block, %line, %
AbstractComicArchiveTest.java100% (1/1)100% (7/7)84%  (159/190)92%  (35.8/39)

COVERAGE BREAKDOWN BY CLASS AND METHOD

nameclass, %method, %block, %line, %
     
class AbstractComicArchiveTest100% (1/1)100% (7/7)84%  (159/190)92%  (35.8/39)
testExtract (String): void 100% (1/1)73%  (11/15)83%  (2.5/3)
setUp (): void 100% (1/1)75%  (15/20)95%  (4.8/5)
<static initializer> 100% (1/1)80%  (12/15)80%  (0.8/1)
testExtract (File): void 100% (1/1)85%  (106/125)91%  (22.7/25)
AbstractComicArchiveTest (): void 100% (1/1)100% (3/3)100% (1/1)
getTestTools (): TestTools 100% (1/1)100% (3/3)100% (1/1)
tearDown (): void 100% (1/1)100% (9/9)100% (4/4)

1// Jomic - a viewer for comic book archives.
2// Copyright (C) 2004-2011 Thomas Aglassinger
3//
4// This program is free software: you can redistribute it and/or modify
5// it under the terms of the GNU General Public License as published by
6// the Free Software Foundation, either version 3 of the License, or
7// (at your option) any later version.
8//
9// This program is distributed in the hope that it will be useful,
10// but WITHOUT ANY WARRANTY; without even the implied warranty of
11// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
12// GNU General Public License for more details.
13//
14// You should have received a copy of the GNU General Public License
15// along with this program.  If not, see <http://www.gnu.org/licenses/>.
16package net.sf.jomic.comic;
17 
18import java.awt.image.RenderedImage;
19import java.io.File;
20 
21import javax.swing.JFrame;
22import javax.swing.JScrollPane;
23 
24import junit.framework.TestCase;
25import net.sf.jomic.tools.TestTools;
26import org.apache.commons.logging.Log;
27import org.apache.commons.logging.LogFactory;
28 
29import com.sun.media.jai.widget.DisplayJAI;
30 
31/**
32 *  Abstract TestCase to extract a comic archive.
33 *
34 * @author    Thomas Aglassinger
35 */
36abstract class AbstractComicArchiveTest extends TestCase
37{
38    private Log logger;
39    private TestTools testTools;
40 
41    protected void setUp()
42        throws Exception {
43        super.setUp();
44        logger = LogFactory.getLog(AbstractComicArchiveTest.class);
45        testTools = TestTools.instance();
46        testTools.setupCache();
47    }
48 
49    public TestTools getTestTools() {
50        return testTools;
51    }
52 
53    protected void tearDown()
54        throws Exception {
55        super.tearDown();
56        testTools = null;
57        logger = null;
58    }
59 
60    protected void testExtract(String name)
61        throws Exception {
62        assert name != null;
63        testExtract(testTools.getTestFile(name));
64    }
65 
66    protected void testExtract(File archive)
67        throws Exception {
68        assert archive != null;
69        if (logger.isInfoEnabled()) {
70            logger.info("test extract \"" + archive + "\"");
71        }
72        ComicModel model = null;
73        JFrame frame = null;
74 
75        try {
76            model = new ComicModel(archive);
77            frame = new JFrame(ComicModelTest.class.getName());
78 
79            DisplayJAI imagePane = new DisplayJAI();
80 
81            frame.getContentPane().add(new JScrollPane(imagePane));
82            frame.setSize(TestTools.FRAME_WIDTH, TestTools.FRAME_HEIGHT);
83 
84            boolean firstTime = true;
85 
86            for (int page = 0; page < model.getImageCount(); page += 1) {
87                if (logger.isDebugEnabled()) {
88                    logger.debug("view page " + page);
89                }
90                RenderedImage image = model.getImage(page);
91 
92                imagePane.set(image);
93                if (firstTime) {
94                    firstTime = false;
95                    frame.pack();
96                    frame.setVisible(true);
97                }
98            }
99        } finally {
100            if (model != null) {
101                model.dispose();
102            }
103            if (frame != null) {
104                frame.dispose();
105            }
106            // TOOD: assert all files have been removed
107        }
108    }
109 
110}

[all classes][net.sf.jomic.comic]
EMMA 2.0.4217 (C) Vladimir Roubtsov