From 67c42358e2940a166649b95a871ae7e47fb3ef17 Mon Sep 17 00:00:00 2001 From: Trygve Laugstøl Date: Fri, 27 Sep 2013 21:47:01 +0200 Subject: wip --- src/test/java/io/trygvis/btree/BtreeMapTest.java | 45 ++++++++++++++++++++++++ 1 file changed, 45 insertions(+) create mode 100644 src/test/java/io/trygvis/btree/BtreeMapTest.java (limited to 'src/test/java/io/trygvis/btree/BtreeMapTest.java') diff --git a/src/test/java/io/trygvis/btree/BtreeMapTest.java b/src/test/java/io/trygvis/btree/BtreeMapTest.java new file mode 100644 index 0000000..3c771a8 --- /dev/null +++ b/src/test/java/io/trygvis/btree/BtreeMapTest.java @@ -0,0 +1,45 @@ +package io.trygvis.btree; + +import org.junit.Test; + +import java.io.File; +import java.nio.ByteBuffer; + +import static io.trygvis.btree.Bits.intFromBytes; +import static io.trygvis.btree.HeapTest.Person.randomPerson; +import static io.trygvis.btree.TestUtils.deleteFile; + +public class BtreeMapTest { + + @Test + public void testBasic() throws Exception { + File f = new File("target/btreemap"); + BtreeMap map = new BtreeMap<>(new BtreeFile(new HeapFile(128, deleteFile(f)), 4), new IntegerSerializer(), new PersonSerializer()); + + map.put(1, randomPerson()); + } + + private static class IntegerSerializer implements BtreeMap.Serializer { + @Override + public byte[] toBytes(Integer integer) { + return Bits.toBytes(integer); + } + + @Override + public Integer fromBytes(byte[] bytes) { + return intFromBytes(bytes); + } + } + + private static class PersonSerializer implements BtreeMap.Serializer { + @Override + public byte[] toBytes(HeapTest.Person person) { + return person.toBytes(); + } + + @Override + public HeapTest.Person fromBytes(byte[] bytes) { + return HeapTest.Person.fromBytes(ByteBuffer.wrap(bytes)); + } + } +} -- cgit v1.2.3