| 1 19 20 package org.netbeans.upgrade.systemoptions; 21 22 import java.io.File ; 23 import java.io.IOException ; 24 import java.net.URL ; 25 import java.util.Arrays ; 26 import java.util.List ; 27 import java.util.TreeSet ; 28 import org.netbeans.junit.NbTestCase; 29 import org.openide.filesystems.FileObject; 30 import org.openide.filesystems.FileUtil; 31 32 35 public abstract class BasicTestForImport extends NbTestCase { 36 private FileObject f; 37 private String fileName; 38 39 40 public BasicTestForImport(String testName, String fileName) { 41 super(testName); 42 this.fileName = fileName; 43 } 44 45 protected void setUp() throws Exception { 46 URL u = getClass().getResource(getFileName()); 47 File ff = new File (u.getFile()); f = FileUtil.toFileObject(ff); 49 assert f != null; 50 } 51 52 private final String getFileName() { 53 return fileName; 54 } 55 56 57 60 public void testPropertyNames() throws Exception { 61 assertPropertyNames(new String [] {"just_cause_fail" 62 }); 63 } 64 65 public void testPreferencesNodePath() throws Exception { 66 assertPreferencesNodePath("just_cause_fail"); 67 } 68 69 70 private DefaultResult readSystemOption(boolean types) throws IOException , ClassNotFoundException { 71 return SystemOptionsParser.parse(f, types); 72 } 73 74 public void assertPropertyNames(final String [] propertyNames) throws IOException , ClassNotFoundException { 75 assertEquals(new TreeSet <String >(Arrays.asList(propertyNames)).toString(), 76 new TreeSet <String >(Arrays.asList(readSystemOption(false).getPropertyNames())).toString()); 77 } 78 79 public void assertProperty(final String propertyName, final String expected) throws IOException , ClassNotFoundException { 80 Result support = readSystemOption(false); 81 82 List parsedPropNames = Arrays.asList(support.getPropertyNames()); 83 84 String parsedPropertyName = null; 85 boolean isFakeName = !parsedPropNames.contains(propertyName); 86 if (isFakeName) { 87 assertTrue(propertyName+" (alias: "+parsedPropertyName + ") not found in: " + parsedPropNames,parsedPropNames.contains(parsedPropertyName)); 88 } else { 89 parsedPropertyName = propertyName; 90 } 91 92 assertNotNull(parsedPropertyName); 93 Class expectedClass = null; 94 String actual = support.getProperty(parsedPropertyName); 95 if (actual == null) { 96 assertNull(expectedClass); 97 assertEquals(expected, actual); 98 } else { 99 assertEquals(expected, actual); 100 } 101 } 102 103 public void assertPropertyType(final String propertyName, final String expected) throws IOException , ClassNotFoundException { 104 Result support = readSystemOption(true); 105 List parsedPropNames = Arrays.asList(support.getPropertyNames()); 106 String parsedPropertyName = null; 107 boolean isFakeName = !parsedPropNames.contains(propertyName); 108 if (isFakeName) { 109 assertTrue(propertyName+" (alias: "+parsedPropertyName + ") not found in: " + parsedPropNames,parsedPropNames.contains(parsedPropertyName)); 110 } else { 111 parsedPropertyName = propertyName; 112 } 113 114 assertNotNull(parsedPropertyName); 115 String actual = support.getProperty(parsedPropertyName); 116 if (actual == null) { 117 assertNull(expected); 118 } else { 119 Class expectedClass = null; 120 try { 121 expectedClass = Class.forName(expected); 122 } catch (ClassNotFoundException ex) { 123 } 124 if (expectedClass != null) { 125 Class cls = Class.forName(actual); 126 assertTrue(expectedClass + " but : " + cls,expectedClass.isAssignableFrom(cls)); 127 } else { 128 assertEquals(expected, actual); 129 } 130 assertEquals(expected, actual); 131 } 132 } 133 134 public void assertPropertyTypeAndValue(String propertyName, String expectedType, String expectedValue) throws Exception { 135 assertPropertyType(propertyName, expectedType); 136 assertProperty(propertyName, expectedValue); 137 } 138 139 public void assertPreferencesNodePath(final String expectedInstanceName) throws IOException , ClassNotFoundException { 140 DefaultResult support = readSystemOption(true); 141 assertEquals(expectedInstanceName,"/"+support.getModuleName()); } 143 } 144 | Popular Tags |