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