package hdgl.db.store.impl.cache; import static org.junit.Assert.*; import hdgl.util.IterableHelper; import hdgl.util.WritableHelper; import org.junit.Test; public class MemoryGraphStoreTest { public byte[] data(int i){ return WritableHelper.toBytes(i); } public byte[] data(String i){ return WritableHelper.toBytes(i); } @Test public MemoryGraphStore test() throws Exception{ MemoryGraphStore g = new MemoryGraphStore(); MemoryVertexImpl v1 = new MemoryVertexImpl(1l, "t1", IterableHelper.<String, byte[]>makeMap("name", data("one"), "price", data(100)), IterableHelper.<Long>makeSet(-5l), IterableHelper.<Long>makeSet(-1l,-6l,-7l), g); MemoryVertexImpl v2 = new MemoryVertexImpl(2l, "t1", IterableHelper.<String, byte[]>makeMap("name", data("two"), "price", data(50)), IterableHelper.<Long>makeSet(-1l, -9l), IterableHelper.<Long>makeSet(-2l, -8l), g); MemoryVertexImpl v3 = new MemoryVertexImpl(3l, "t1", IterableHelper.<String, byte[]>makeMap("name", data("three"), "price", data(500)), IterableHelper.<Long>makeSet(-2l, -6l), IterableHelper.<Long>makeSet(-3l, -9l), g); MemoryVertexImpl v4 = new MemoryVertexImpl(4l, "t2", IterableHelper.<String, byte[]>makeMap("name", data("four"), "price", data(10)), IterableHelper.<Long>makeSet(-3l, -7l), IterableHelper.<Long>makeSet(-4l), g); MemoryVertexImpl v5 = new MemoryVertexImpl(5l, "t2", IterableHelper.<String, byte[]>makeMap("name", data("five"), "price", data(30)), IterableHelper.<Long>makeSet(-4l, -8l), IterableHelper.<Long>makeSet(-5l), g); MemoryEdgeImpl e1=new MemoryEdgeImpl(-1l, "forward", 1l, 2l, IterableHelper.<String, byte[]>makeMap("len", data(1)), g); MemoryEdgeImpl e2=new MemoryEdgeImpl(-2l, "forward", 2l, 3l, IterableHelper.<String, byte[]>makeMap("len", data(1)), g); MemoryEdgeImpl e3=new MemoryEdgeImpl(-3l, "forward", 3l, 4l, IterableHelper.<String, byte[]>makeMap("len", data(1)), g); MemoryEdgeImpl e4=new MemoryEdgeImpl(-4l, "forward", 4l, 5l, IterableHelper.<String, byte[]>makeMap("len", data(1)), g); MemoryEdgeImpl e5=new MemoryEdgeImpl(-5l, "back", 5l, 1l, IterableHelper.<String, byte[]>makeMap("len", data(-4)), g); MemoryEdgeImpl e6=new MemoryEdgeImpl(-6l, "jump", 1l, 3l, IterableHelper.<String, byte[]>makeMap("len", data(2)), g); MemoryEdgeImpl e7=new MemoryEdgeImpl(-7l, "jump", 1l, 4l, IterableHelper.<String, byte[]>makeMap("len", data(3)), g); MemoryEdgeImpl e8=new MemoryEdgeImpl(-8l, "jump", 2l, 5l, IterableHelper.<String, byte[]>makeMap("len", data(3)), g); MemoryEdgeImpl e9=new MemoryEdgeImpl(-9l, "back", 3l, 2l, IterableHelper.<String, byte[]>makeMap("len", data(-1)), g); g.addVertex(v1); g.addVertex(v2); g.addVertex(v3); g.addVertex(v4); g.addVertex(v5); g.addEdge(e1); g.addEdge(e2); g.addEdge(e3); g.addEdge(e4); g.addEdge(e5); g.addEdge(e6); g.addEdge(e7); g.addEdge(e8); g.addEdge(e9); assertEquals(5, g.getVertexCount()); assertEquals(9, g.getEdgeCount()); assertEquals("back", g.parseEdge(-5).getType()); assertEquals("forward", g.parseEdge(-1).getType()); assertEquals("jump", g.parseEdge(-8).getType()); return g; } }