1 package csdl.jblanket.methodset; 2 3 import csdl.jblanket.modifier.MethodCollector; 4 5 import java.io.File ; 6 import java.io.FileOutputStream ; 7 import java.io.FileInputStream ; 8 import java.util.ArrayList ; 9 import java.util.Date ; 10 import java.util.List ; 11 12 import junit.framework.TestCase; 13 import junit.framework.TestSuite; 14 import junit.textui.TestRunner; 15 16 27 public class TestMethodSet extends TestCase { 28 29 30 private String testDir; 31 32 private final String xmlFile = "testMethodSet.xml"; 33 34 private MethodSet methodSet1; 35 36 private MethodSet methodSet2; 37 38 private MethodSet methodSet3; 39 40 private MethodSet methodSet4; 41 42 private MethodSet methodSet5; 43 44 private MethodInfo methodInfo1; 45 46 private MethodInfo methodInfo2; 47 48 private final String class1 = "java.lang.String"; 49 50 private final String class2 = "java.lang.Boolean"; 51 52 private final String class3 = "foo.bar.Baz"; 53 54 private final String class4 = "foo.bar.Foo"; 55 56 private final String method1 = "getQux"; 57 58 private final String method2 = "setQux"; 59 60 65 public TestMethodSet(String name) { 66 super(name); 67 } 68 69 72 public void setUp() { 73 List params = new ArrayList (); 75 params.add(class1); 76 params.add(class2); 77 methodInfo1 = new MethodInfo(class3, method1, params); 78 79 methodInfo2 = new MethodInfo(class4, method2, new ArrayList ()); 80 81 methodSet1 = new MethodSet(); 83 methodSet1.add(methodInfo1); 84 methodSet1.add(methodInfo2); 85 86 methodSet2 = new MethodSet(); 87 methodSet2.add(methodInfo1); 88 methodSet2.add(methodInfo2); 89 90 methodSet3 = new MethodSet(); 91 methodSet3.add(methodInfo1); 92 93 methodSet4 = new MethodSet(); 94 methodSet4.add(methodInfo2); 95 96 97 methodSet5 = new MethodSet(); 98 } 99 100 105 public void testBasicFunctions() throws Exception { 106 107 assertTrue("Checking that the methodset has 2 elements.", methodSet1.size() == 2); 108 109 assertTrue("Checking presence of method.", !methodSet1.add(methodInfo1)); 111 112 methodSet1.remove(methodInfo1); 114 assertTrue("Checking absence of method.", methodSet1.add(methodInfo1)); 115 116 assertTrue("Checking two methodsets for equality.", methodSet1.equals(methodSet2)); 118 } 119 120 125 public void testFileOperations() throws Exception { 126 127 testDir = System.getProperty("jblanket.testdir"); 130 assertNotNull("Checking for presence of jblanket.testdir.", testDir); 131 132 Date now = new Date (); 133 134 File testFile = new File (testDir, xmlFile); 136 FileOutputStream fostream = new FileOutputStream (testFile); 137 methodSet1.store(fostream, null, now); 138 139 FileInputStream inStream = new FileInputStream (testFile); 141 Date later = methodSet5.load(inStream); 142 assertTrue("Checking that loaded is same as stored.", methodSet1.equals(methodSet5)); 143 144 assertEquals("Checking that formatted date stored is same as formatted date retrieved.", 146 MethodCollector.getDateFormat().format(now), 147 MethodCollector.getDateFormat().format(later)); 148 } 149 150 155 public void testDifference() throws Exception { 156 157 methodSet1.difference(methodSet5); 158 assertTrue("Checking difference with empty methodset.", methodSet1.equals(methodSet2)); 159 160 methodSet1.difference(methodSet4); 161 assertTrue("Checking difference has 1 method.", methodSet1.equals(methodSet3)); 162 163 methodSet1.difference(methodSet1); 164 assertTrue("Checking difference has no methods.", methodSet1.equals(methodSet5)); 165 } 166 167 172 public void testIntersection() throws Exception { 173 174 MethodSet methodSet6 = new MethodSet(); 175 methodSet6.intersection(methodSet1); 176 assertTrue("Checking intersection of empty methodset.", methodSet6.equals(methodSet5)); 177 178 methodSet6.intersection(methodSet3); 179 assertTrue("Checking intersection with empty and 1 method.", methodSet6.equals(methodSet5)); 180 181 methodSet1.intersection(methodSet1); 182 assertTrue("Checking intersection wtih 2 methods each.", methodSet1.equals(methodSet2)); 183 } 184 185 190 public void testUnion() throws Exception { 191 192 MethodSet methodSet6 = new MethodSet(); 193 methodSet6.union(methodSet5); 194 assertTrue("Checking union of empty methodset.", methodSet6.equals(methodSet5)); 195 196 methodSet6.union(methodSet3); 197 assertTrue("Checking union of empty and 1 method.", methodSet6.equals(methodSet3)); 198 199 methodSet6.union(methodSet3); 200 assertTrue("Checking union of 1 method each.", methodSet6.equals(methodSet3)); 201 } 202 203 208 public static void main(String [] args) { 209 System.out.println("JUnit testing MethodSet."); 210 TestRunner.run(new TestSuite(TestMethodSet.class)); 212 } 213 } 214 | Popular Tags |