Changeset 30274
- Timestamp:
- 2015-09-28T11:08:25+13:00 (9 years ago)
- File:
-
- 1 edited
Legend:
- Unmodified
- Added
- Removed
-
gs2-extensions/tdb/trunk/src/java/org/greenstone/tdbjava/TDBJavaTest.java
r30193 r30274 162 162 163 163 try { 164 // Create a simple database 165 TDBJava db = new TDBJava(db_path); 166 Test.ok(1, db != null); 167 168 // Check database is open 169 Test.ok(1.5, db.isOpen()); 170 171 // Store some data in the file 172 db.store("mountain", "Kosciusko"); 173 Test.ok(2, true); 174 175 // Store and read back data 176 db.store("abc", "ABC"); 177 value = db.fetch("abc"); 178 Test.ok(3, value.equals("ABC")); 179 180 // Check whether keys exist or not 181 Test.ok(4, db.exists("abc")); 182 Test.ok(5, !db.exists("jimmy")); 183 Test.ok(6, !db.exists("abc\0")); 184 185 // Delete those records 186 db.delete("mountain"); 187 Test.ok(9, !db.exists("mountain")); 188 db.delete("abc"); 189 Test.ok(10, !db.exists("abc")); 190 191 // Store a series of records in the file 192 for (int i = 100; i < 200; i++) { 193 db.store(Integer.toString(i, Character.MAX_RADIX), 194 Integer.toString(i, Character.MIN_RADIX)); 195 } 196 197 // Enumerate keys and values out of the file 198 int count = 0; 199 Enumeration keys = db.keys(); 200 while (keys.hasMoreElements()) { 201 key = (String) keys.nextElement(); 202 // System.out.print(key + "="); 203 // value = (String) db.fetch(key); 204 // System.out.println(value); 205 count++; 206 } 207 Test.ok(20, count==100); 208 209 // Delete all the records from the file 210 count = 0; 211 while ((key = (String) db.getFirstKey()) != null) { 212 db.delete(key); 213 count++; 214 } 215 Test.ok(30, count==100); 216 217 // Try to fetch a non-existent key 218 boolean caught = false; 219 try { 220 db.fetch("larry!"); 221 } 222 catch (Exception e) { 223 // TODO: Check the exception was the one we expected? 224 System.out.println("caught: " + e.toString()); 225 caught = true; 226 } 227 Test.ok(40, caught); 164 // Create a simple database 165 TDBJava db = TDBJava.getConnection(db_path); 166 Test.ok(1, db != null); 167 168 // Check database is open 169 Test.ok(1.5, db.isOpen()); 170 171 // Store some data in the file 172 db.store("mountain", "Kosciusko"); 173 Test.ok(2, true); 174 175 // Store and read back data 176 db.store("abc", "ABC"); 177 value = db.fetch("abc"); 178 Test.ok(3, value.equals("ABC")); 179 180 // Check whether keys exist or not 181 Test.ok(4, db.exists("abc")); 182 Test.ok(5, !db.exists("jimmy")); 183 Test.ok(6, !db.exists("abc\0")); 184 185 // Open a second handle to the same database 186 TDBJava db4 = TDBJava.getConnection(db_path); 187 Test.ok(701, db4 != null); 188 // read an existing key 189 value = db4.fetch("abc"); 190 Test.ok(702, value.equals("ABC")); 191 // write a new key 192 db4.store("breakfast", "Bacon"); 193 Test.ok(703, true); 194 // read it out 195 value = db4.fetch("breakfast"); 196 Test.ok(704, value.equals("Bacon")); 197 // delete a record 198 db4.delete("mountain"); 199 Test.ok(705, !db4.exists("mountain")); 200 // close it 201 db4.close(); 202 // test added record still exists 203 value = db.fetch("breakfast"); 204 Test.ok(706, value.equals("Bacon")); 205 206 // Delete those records 207 db.delete("breakfast"); 208 Test.ok(9, !db.exists("breakfast")); 209 db.delete("abc"); 210 Test.ok(10, !db.exists("abc")); 211 212 // Store a series of records in the file 213 for (int i = 100; i < 200; i++) { 214 db.store(Integer.toString(i, Character.MAX_RADIX), 215 Integer.toString(i, Character.MIN_RADIX)); 216 } 217 218 // Enumerate keys and values out of the file 219 int count = 0; 220 Enumeration keys = db.keys(); 221 while (keys.hasMoreElements()) { 222 key = (String) keys.nextElement(); 223 // System.out.print(key + "="); 224 // value = (String) db.fetch(key); 225 // System.out.println(value); 226 count++; 227 } 228 Test.ok(20, count==100); 229 230 // Delete all the records from the file 231 count = 0; 232 while ((key = (String) db.getFirstKey()) != null) { 233 db.delete(key); 234 count++; 235 } 236 Test.ok(30, count==100); 237 238 // Try to fetch a non-existent key 239 boolean caught = false; 240 try { 241 db.fetch("larry!"); 242 } 243 catch (Exception e) { 244 // TODO: Check the exception was the one we expected? 245 ///ystem.out.println("caught: " + e.toString()); 246 caught = true; 247 } 248 Test.ok(40, caught); 228 249 229 250 // Store some very large data … … 248 269 } 249 270 catch (Exception e) { 250 System.out.println("caught: " + e.toString());271 ///ystem.out.println("caught: " + e.toString()); 251 272 caught = true; 252 273 } 253 274 Test.ok(70, caught); 254 275 276 /* No longer applicable 255 277 // Try to open a non-existent database 256 278 String bogus_db_path = "/tmp/somenonexistentdatabase.tdb"; … … 258 280 caught = false; 259 281 try { 260 db = new TDBJava(bogus_db_path, TDBJava.TDB_DEFAULT, TDBJava.O_READONLY); 282 db = TDBJava.getConnection(bogus_db_path, TDBJava.TDB_DEFAULT, TDBJava.O_READONLY); 283 } 284 catch (Exception e) { 285 ///ystem.out.println("caught: " + e.toString()); 286 caught = true; 287 } 288 Test.ok(80, caught); 289 290 // Open a database read-only 291 db = TDBJava.getConnection(db_path, TDBJava.TDB_DEFAULT, TDBJava.O_READONLY); 292 Test.ok(90); 293 294 // Try to insert 295 caught = false; 296 try { 297 db.store("apple", "crumble"); 261 298 } 262 299 catch (Exception e) { … … 264 301 caught = true; 265 302 } 266 Test.ok(80, caught);267 268 // Open a database read-only269 db = new TDBJava(db_path, TDBJava.TDB_DEFAULT, TDBJava.O_READONLY);270 Test.ok(90);271 272 // Try to insert273 caught = false;274 try {275 db.store("apple", "crumble");276 }277 catch (Exception e) {278 System.out.println("caught: " + e.toString());279 caught = true;280 }281 303 Test.ok(91, caught); 282 304 283 305 db.close(); 306 */ 284 307 285 308 // Replace an existing database 286 db = new TDBJava(db_path, TDBJava.TDB_CLEAR_IF_FIRST);309 db = TDBJava.newConnection(db_path); 287 310 Test.ok(100, !db.exists("mountain")); 288 311 … … 290 313 final String db_path2 = "/tmp/java2.tdb"; 291 314 ensureNoDatabase(db_path2); 292 TDBJava db2 = new TDBJava(db_path2);315 TDBJava db2 = TDBJava.getConnection(db_path2); 293 316 final String db_path3 = "/tmp/java3.tdb"; 294 317 ensureNoDatabase(db_path3); 295 TDBJava db3 = new TDBJava(db_path3);318 TDBJava db3 = TDBJava.getConnection(db_path3); 296 319 Test.ok(110, true); 297 320
Note:
See TracChangeset
for help on using the changeset viewer.