/* * Copyright (c) 2002-2009 "Neo Technology," * Network Engine for Objects in Lund AB [http://neotechnology.com] * * This file is part of Neo4j. * * Neo4j is free software: you can redistribute it and/or modify * it under the terms of the GNU Affero General Public License as * published by the Free Software Foundation, either version 3 of the * License, or (at your option) any later version. * * This program is distributed in the hope that it will be useful, * but WITHOUT ANY WARRANTY; without even the implied warranty of * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the * GNU Affero General Public License for more details. * * You should have received a copy of the GNU Affero General Public License * along with this program. If not, see <http://www.gnu.org/licenses/>. */ package org.neo4j.index.impl.map; import junit.framework.TestCase; import org.neo4j.graphdb.GraphDatabaseService; import org.neo4j.graphdb.Node; import org.neo4j.graphdb.Transaction; import org.neo4j.kernel.EmbeddedGraphDatabase; public class TestBTreeMap extends TestCase { private BTreeMap<Character,Character> bTreeMap; private GraphDatabaseService neo; private Transaction tx; @Override public void setUp() { neo = new EmbeddedGraphDatabase( "target/var/map" ); tx = neo.beginTx(); Node bNode = neo.createNode(); bTreeMap = new BTreeMap<Character,Character>( "test_map", bNode, neo ); } @Override public void tearDown() { bTreeMap.delete(); tx.finish(); neo.shutdown(); } public void testBasicBTreeMap() { assertNull( bTreeMap.put( 'c', 'a' ) ); assertEquals( (Character) 'a', bTreeMap.put( 'c', 'c' ) ); bTreeMap.put( 'n', 'n' ); bTreeMap.put( 'g', 'g' ); bTreeMap.put( 'a', 'a' ); bTreeMap.put( 'h', 'h' ); bTreeMap.put( 'e', 'e' ); bTreeMap.put( 'k', 'k' ); bTreeMap.put( 'q', 'q' ); bTreeMap.put( 'm', 'm' ); bTreeMap.put( 'f', 'f' ); bTreeMap.put( 'w', 'w' ); bTreeMap.put( 'l', 'l' ); bTreeMap.put( 't', 't' ); bTreeMap.put( 'z', 'z' ); bTreeMap.put( 'd', 'd' ); bTreeMap.put( 'p', 'p' ); bTreeMap.put( 'r', 'r' ); bTreeMap.put( 'x', 'x' ); bTreeMap.put( 'y', 'y' ); bTreeMap.put( 's', 's' ); assertEquals( (Character) 'h', bTreeMap.remove( 'h' ) ); assertNull( bTreeMap.remove( 'h' ) ); assertEquals( (Character) 't', bTreeMap.remove( 't' ) ); assertEquals( (Character) 'r', bTreeMap.remove( 'r' ) ); tx.success(); } }