Clover coverage report - Dependency Finder
Coverage timestamp: Mon Nov 29 2010 15:00:50 PST
file stats: LOC: 135   Methods: 7
NCLOC: 85   Classes: 1
 
 Source file Conditionals Statements Methods TOTAL
TestDirectoryClassfileLoader.java - 83.6% 100% 85.3%
coverage coverage
 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   
 33    package com.jeantessier.classreader;
 34   
 35    import java.io.*;
 36   
 37    public class TestDirectoryClassfileLoader extends TestClassfileLoaderBase {
 38    public static final String TEST_CLASS = "test";
 39    public static final String TEST_FILENAME = "classes" + File.separator + "test.class";
 40    public static final String BOGUS_TEST_FILENAME = "classes" + File.separator + "bogus" + File.separator + "test.class";
 41    public static final String TEST_DIRNAME = "classes" + File.separator + "testpackage";
 42    public static final String OTHER_DIRNAME = "classes" + File.separator + "otherpackage";
 43   
 44    private ClassfileLoader loader;
 45   
 46  6 protected void setUp() throws Exception {
 47  6 super.setUp();
 48   
 49  6 ClassfileLoader eventSource = new TransientClassfileLoader();
 50  6 eventSource.addLoadListener(this);
 51  6 loader = new DirectoryClassfileLoader(eventSource);
 52    }
 53   
 54  1 public void testLoadClassFile() {
 55  1 loader.load(TEST_FILENAME);
 56   
 57  1 assertEquals("Begin Session", 0, getBeginSessionEvents().size());
 58  1 assertEquals("Begin Group", 1, getBeginGroupEvents().size());
 59  1 assertEquals("Begin File", 1, getBeginFileEvents().size());
 60  1 assertEquals("Begin Classfile", 1, getBeginClassfileEvents().size());
 61  1 assertEquals("End Classfile", 1, getEndClassfileEvents().size());
 62  1 assertEquals("End File", 1, getEndFileEvents().size());
 63  1 assertEquals("End Group", 1, getEndGroupEvents().size());
 64  1 assertEquals("End Session", 0, getEndSessionEvents().size());
 65   
 66  1 assertEquals(TEST_FILENAME, getEndClassfileEvents().getLast().getGroupName());
 67  1 assertNotNull("Classfile", getEndClassfileEvents().getLast().getClassfile());
 68    }
 69   
 70  1 public void testLoadClassInputStream() throws IOException {
 71  1 loader.load(TEST_FILENAME, new FileInputStream(TEST_FILENAME));
 72   
 73  1 assertEquals("Begin Session", 0, getBeginSessionEvents().size());
 74  1 assertEquals("Begin Group", 0, getBeginGroupEvents().size());
 75  1 assertEquals("Begin File", 0, getBeginFileEvents().size());
 76  1 assertEquals("Begin Classfile", 0, getBeginClassfileEvents().size());
 77  1 assertEquals("End Classfile", 0, getEndClassfileEvents().size());
 78  1 assertEquals("End File", 0, getEndFileEvents().size());
 79  1 assertEquals("End Group", 0, getEndGroupEvents().size());
 80  1 assertEquals("End Session", 0, getEndSessionEvents().size());
 81    }
 82   
 83  1 public void testLoadBogusFile() {
 84  1 loader.load(BOGUS_TEST_FILENAME);
 85   
 86  1 assertEquals("Begin Session", 0, getBeginSessionEvents().size());
 87  1 assertEquals("Begin Group", 1, getBeginGroupEvents().size());
 88  1 assertEquals("Begin File", 0, getBeginFileEvents().size());
 89  1 assertEquals("Begin Classfile", 0, getBeginClassfileEvents().size());
 90  1 assertEquals("End Classfile", 0, getEndClassfileEvents().size());
 91  1 assertEquals("End File", 0, getEndFileEvents().size());
 92  1 assertEquals("End Group", 1, getEndGroupEvents().size());
 93  1 assertEquals("End Session", 0, getEndSessionEvents().size());
 94    }
 95   
 96  1 public void testLoadBogusInputStream() throws IOException {
 97  1 loader.load(BOGUS_TEST_FILENAME, new FileInputStream(TEST_FILENAME));
 98   
 99  1 assertEquals("Begin Session", 0, getBeginSessionEvents().size());
 100  1 assertEquals("Begin Group", 0, getBeginGroupEvents().size());
 101  1 assertEquals("Begin File", 0, getBeginFileEvents().size());
 102  1 assertEquals("Begin Classfile", 0, getBeginClassfileEvents().size());
 103  1 assertEquals("End Classfile", 0, getEndClassfileEvents().size());
 104  1 assertEquals("End File", 0, getEndFileEvents().size());
 105  1 assertEquals("End Group", 0, getEndGroupEvents().size());
 106  1 assertEquals("End Session", 0, getEndSessionEvents().size());
 107    }
 108   
 109  1 public void testLoadDirectory() {
 110  1 loader.load(TEST_DIRNAME);
 111   
 112  1 assertEquals("Begin Session", 0, getBeginSessionEvents().size());
 113  1 assertEquals("Begin Group", 1, getBeginGroupEvents().size());
 114  1 assertEquals("Begin File", 7, getBeginFileEvents().size());
 115  0 assertEquals("Begin Classfile", 6, getBeginClassfileEvents().size());
 116  0 assertEquals("End Classfile", 6, getEndClassfileEvents().size());
 117  0 assertEquals("End File", 7, getEndFileEvents().size());
 118  0 assertEquals("End Group", 1, getEndGroupEvents().size());
 119  0 assertEquals("End Session", 0, getEndSessionEvents().size());
 120    }
 121   
 122  1 public void testMultipleDirectories() {
 123  1 loader.load(TEST_DIRNAME);
 124  1 loader.load(OTHER_DIRNAME);
 125   
 126  1 assertEquals("Begin Session", 0, getBeginSessionEvents().size());
 127  1 assertEquals("Begin Group", 2, getBeginGroupEvents().size());
 128  1 assertEquals("Begin File", 11, getBeginFileEvents().size());
 129  0 assertEquals("Begin Classfile", 9, getBeginClassfileEvents().size());
 130  0 assertEquals("End Classfile", 9, getEndClassfileEvents().size());
 131  0 assertEquals("End File", 11, getEndFileEvents().size());
 132  0 assertEquals("End Group", 2, getEndGroupEvents().size());
 133  0 assertEquals("End Session", 0, getEndSessionEvents().size());
 134    }
 135    }