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)); } } }