1 21 22 package org.opensubsystems.core.persist; 23 24 import java.util.Properties ; 25 26 import junit.framework.TestCase; 27 28 import org.opensubsystems.core.persist.db.DatabaseTest2DatabaseFactory; 29 import org.opensubsystems.core.persist.db.DatabaseTestDatabaseFactory; 30 import org.opensubsystems.core.util.Config; 31 32 40 public class DataFactoryManagerTest extends TestCase 41 { 42 44 48 public DataFactoryManagerTest( 49 String arg0 50 ) 51 { 52 super(arg0); 53 } 54 55 60 protected void setUp( 61 ) throws Exception  62 { 63 super.setUp(); 64 } 65 66 71 protected void tearDown() throws Exception  72 { 73 super.tearDown(); 74 } 75 76 81 public void testGetFactoryInstance( 82 ) throws Exception  83 { 84 Config originalInstance; 85 86 originalInstance = Config.getInstance(); 87 try 88 { 89 Object test; 90 Object test2; 91 Object test3; 92 DataFactoryManager factoryManager = new DataFactoryManager(); 93 94 test = factoryManager.getFactoryInstance(DatabaseTestFactory.class); 96 assertNotNull("Cannot instantiate class", test); 97 assertTrue("Must be instance of DataFactory", 98 test instanceof DataFactory); 99 assertTrue("Must be instance of DatabaseTestFactory", 100 test instanceof DatabaseTestFactory); 101 assertTrue("Must be instance of DatabaseTestDatabaseFactory", 102 test instanceof DatabaseTestDatabaseFactory); 103 test2 = factoryManager.getFactoryInstance(DatabaseTestFactory.class); 106 assertTrue("The data factory is not cached.", test == test2); 107 108 Properties predefinedProperties = new Properties (); 112 predefinedProperties.put(DatabaseTestFactory.class.getName(), 115 DatabaseTest2DatabaseFactory.class.getName()); 116 Config.setInstance(new Config(predefinedProperties)); 118 119 test = factoryManager.getFactoryInstance(DatabaseTestFactory.class); 122 assertNotNull("Cannot instantiate class", test); 123 assertTrue("Must be instance of DataFactory", 124 test instanceof DataFactory); 125 assertTrue("Must be instance of DatabaseTestFactory", 126 test instanceof DatabaseTestFactory); 127 assertTrue("Must be instance of DatabaseTestDatabaseFactory", 128 test instanceof DatabaseTestDatabaseFactory); 129 assertTrue("The data factory is not cached.", test == test2); 130 131 factoryManager = new DataFactoryManager(); 134 test3 = factoryManager.getFactoryInstance(DatabaseTestFactory.class); 135 assertNotNull("Cannot instantiate class", test); 136 assertTrue("Must be instance of DataFactory", 137 test instanceof DataFactory); 138 assertTrue("Must be instance of DatabaseTestFactory", 139 test instanceof DatabaseTestFactory); 140 assertTrue("Must be instance of DatabaseTest2DatabaseFactory", 141 test3 instanceof DatabaseTest2DatabaseFactory); 142 assertFalse("The data factory is not cached.", test == test3); 145 } 146 finally 147 { 148 Config.setInstance(originalInstance); 150 } 151 } 152 153 158 public void testGetInstance( 159 ) throws Exception  160 { 161 Config originalInstance; 162 163 originalInstance = Config.getInstance(); 164 try 165 { 166 Object test; 167 Object test2; 168 169 test = DataFactoryManager.getInstance(DatabaseTestFactory.class); 171 assertNotNull("Cannot instantiate class", test); 172 assertTrue("Must be instance of DataFactory", 173 test instanceof DataFactory); 174 assertTrue("Must be instance of DatabaseTestFactory", 175 test instanceof DatabaseTestFactory); 176 assertTrue("Must be instance of DatabaseTestDatabaseFactory", 177 test instanceof DatabaseTestDatabaseFactory); 178 179 test2 = DataFactoryManager.getInstance(DatabaseTestFactory.class); 182 assertTrue("The data factory is not cached.", test == test2); 183 184 Properties predefinedProperties = new Properties (); 188 predefinedProperties.put(DatabaseTestFactory.class.getName(), 191 DatabaseTest2DatabaseFactory.class.getName()); 192 Config.setInstance(new Config(predefinedProperties)); 194 195 test = DataFactoryManager.getInstance(DatabaseTestFactory.class); 198 assertNotNull("Cannot instantiate class", test); 199 assertTrue("Must be instance of DataFactory", 200 test instanceof DataFactory); 201 assertTrue("Must be instance of DatabaseTestFactory", 202 test instanceof DatabaseTestFactory); 203 assertTrue("Must be instance of DatabaseTestDatabaseFactory", 204 test instanceof DatabaseTestDatabaseFactory); 205 } 206 finally 207 { 208 Config.setInstance(originalInstance); 210 } 211 } 212 } 213
| Popular Tags
|