diff options
Diffstat (limited to 'core/org.eclipse.cdt.core.tests/parser/org/eclipse/cdt/internal/pdom/tests/PDOMStringSetTests.java')
-rw-r--r-- | core/org.eclipse.cdt.core.tests/parser/org/eclipse/cdt/internal/pdom/tests/PDOMStringSetTests.java | 78 |
1 files changed, 78 insertions, 0 deletions
diff --git a/core/org.eclipse.cdt.core.tests/parser/org/eclipse/cdt/internal/pdom/tests/PDOMStringSetTests.java b/core/org.eclipse.cdt.core.tests/parser/org/eclipse/cdt/internal/pdom/tests/PDOMStringSetTests.java new file mode 100644 index 00000000000..1ba161f81ad --- /dev/null +++ b/core/org.eclipse.cdt.core.tests/parser/org/eclipse/cdt/internal/pdom/tests/PDOMStringSetTests.java @@ -0,0 +1,78 @@ +/* + * Copyright (c) 2013 QNX Software Systems and others. + * All rights reserved. This program and the accompanying materials + * are made available under the terms of the Eclipse Public License v1.0 + * which accompanies this distribution, and is available at + * http://www.eclipse.org/legal/epl-v10.html + */ + +package org.eclipse.cdt.internal.pdom.tests; + +import java.io.File; + +import junit.framework.Test; + +import org.eclipse.cdt.core.testplugin.util.BaseTestCase; +import org.eclipse.cdt.internal.core.pdom.db.ChunkCache; +import org.eclipse.cdt.internal.core.pdom.db.Database; +import org.eclipse.cdt.internal.core.pdom.db.PDOMStringSet; + +// copy/pasted from BTreeTests +public class PDOMStringSetTests extends BaseTestCase +{ + protected File dbFile; + protected Database db; + protected PDOMStringSet stringSet; + protected int rootRecord; + + public static Test suite() + { + return suite( PDOMStringSetTests.class ); + } + + @Override + protected void setUp() throws Exception + { + super.setUp(); + + dbFile = File.createTempFile( "pdomstringsettest", "db" ); + db = new Database( dbFile, new ChunkCache(), 0, false ); + db.setExclusiveLock(); + rootRecord = Database.DATA_AREA; + stringSet = new PDOMStringSet( db, rootRecord ); + } + + @Override + protected void tearDown() throws Exception + { + db.close(); + dbFile.deleteOnExit(); + + super.tearDown(); + } + + // Quick tests to exercise the basic functionality. + public void testInterface() throws Exception + { + long val1_rec_a = stringSet.add( "val1" ); + long val2_rec_a = stringSet.add( "val2" ); + long val1_rec_b = stringSet.add( "val1" ); + assertTrue( val1_rec_a != 0 ); + assertTrue( val2_rec_a != 0 ); + assertEquals( val1_rec_a, val1_rec_b ); + + long val1_find = stringSet.find( "val1" ); + long val2_find = stringSet.find( "val2" ); + assertEquals( val1_rec_a, val1_find ); + assertEquals( val2_rec_a, val2_find ); + + long val1_rm = stringSet.remove( "val1" ); + assertEquals( val1_rec_a, val1_rm ); + assertEquals( 0, stringSet.find( "val1" ) ); + assertEquals( val2_rec_a, stringSet.find( "val2" ) ); + + stringSet.clearCaches(); + assertEquals( val2_rec_a, stringSet.find( "val2" ) ); + assertEquals( 0, stringSet.find( "val1" ) ); + } +} |