Mercurial > hg > Members > tatsuki > bench > jungle-core
diff src/test/java/jp/ac/u_ryukyu/ie/cr/tatsuki/jungle/index/IndexCommitTest.java @ 144:0854f9a9e81d
change attrs form TreeMap<String , ByteBuffer> → TreeMap<String,List<ByteBuffer>>
author | one |
---|---|
date | Sun, 16 Nov 2014 06:40:48 +0900 |
parents | afbe19c98f53 |
children | a2c374a2686b |
line wrap: on
line diff
--- a/src/test/java/jp/ac/u_ryukyu/ie/cr/tatsuki/jungle/index/IndexCommitTest.java Sat Nov 15 17:48:07 2014 +0900 +++ b/src/test/java/jp/ac/u_ryukyu/ie/cr/tatsuki/jungle/index/IndexCommitTest.java Sun Nov 16 06:40:48 2014 +0900 @@ -1,7 +1,5 @@ package jp.ac.u_ryukyu.ie.cr.tatsuki.jungle.index; - - import jp.ac.u_ryukyu.ie.cr.shoshi.jungle.DefaultJungle; import jp.ac.u_ryukyu.ie.cr.shoshi.jungle.Jungle; import jp.ac.u_ryukyu.ie.cr.shoshi.jungle.JungleTree; @@ -19,7 +17,6 @@ import java.nio.ByteBuffer; - import org.junit.Test; import fj.data.List; @@ -28,113 +25,119 @@ public class IndexCommitTest { - @Test - public void IndexCommitTest() throws InterruptedException { - - Jungle jungle = new DefaultJungle(null, "hogehoge",new DefaultTreeEditor(new DefaultTraverser())); - jungle.createNewTree("tree"); - JungleTree tree = jungle.getTreeByName("tree"); - createTree(tree); - tree.getRootNode(); - InterfaceTraverser ifTraverser = tree.getTraverser(); + @Test + public void IndexCommitTest() throws InterruptedException { - ifTraverser.find((TreeNode node) -> { - ByteBuffer attribute = node.getAttributes().get(key); - if (attribute != null) { - byte[] byteAttribute = attribute.array(); - String str = new String(byteAttribute); - System.out.println("attribute = " + str); - return str.equals("<-1,0,1>"); - } - return false; - }, key, "<-1,0,1>"); + Jungle jungle = new DefaultJungle(null, "hogehoge", new DefaultTreeEditor(new DefaultTraverser())); + jungle.createNewTree("tree"); + JungleTree tree = jungle.getTreeByName("tree"); + createTree(tree); + tree.getRootNode(); + InterfaceTraverser ifTraverser = tree.getTraverser(); - //check index - TreeMap<String, TreeMap<String, List<NodePath>>> index = ifTraverser.getIndex(); - Option<TreeMap<String, List<NodePath>>> opIndex = index.get(key); - - Assert.assertTrue(!opIndex.isNone()); - - TreeMap<String, List< NodePath>> innerIndex = opIndex.some(); - Assert.assertTrue(!innerIndex.get("<-1,0,0>").isNone()); + ifTraverser.find((TreeNode node) -> { + List<ByteBuffer> attributeList = node.getAttributes().get(key); + if (attributeList.isNotEmpty()) { + for (ByteBuffer attribute : attributeList) { + byte[] byteAttribute = attribute.array(); + String str = new String(byteAttribute); + System.out.println("attribute = " + str); + if (str.equals("<-1,0,1>")) + return true; + continue; + } + } + return false; + }, key, "<-1,0,1>"); - JungleTreeEditor editor = tree.getTreeEditor(); - Either<Error, JungleTreeEditor> either = editor.addNewChildAt(new DefaultNodePath(), 0); - editor = either.b(); - editor.success(); - - ifTraverser.commitIndex(); - JungleTree newTree = jungle.getTreeByName("tree"); - InterfaceTraverser newIfTraverser = newTree.getTraverser(); - TreeMap<String, TreeMap<String, List<NodePath>>> newIndex = newIfTraverser.getIndex(); - Assert.assertTrue(newIndex.isEmpty()); - - InterfaceTraverser ifTraverser1= tree.getTraverser(); + // check index + TreeMap<String, TreeMap<String, List<NodePath>>> index = ifTraverser.getIndex(); + Option<TreeMap<String, List<NodePath>>> opIndex = index.get(key); + + Assert.assertTrue(!opIndex.isNone()); + + TreeMap<String, List<NodePath>> innerIndex = opIndex.some(); + Assert.assertTrue(!innerIndex.get("<-1,0,0>").isNone()); + + JungleTreeEditor editor = tree.getTreeEditor(); + Either<Error, JungleTreeEditor> either = editor.addNewChildAt(new DefaultNodePath(), 0); + editor = either.b(); + editor.success(); + + ifTraverser.commitIndex(); + JungleTree newTree = jungle.getTreeByName("tree"); + InterfaceTraverser newIfTraverser = newTree.getTraverser(); + TreeMap<String, TreeMap<String, List<NodePath>>> newIndex = newIfTraverser.getIndex(); + Assert.assertTrue(newIndex.isEmpty()); + + InterfaceTraverser ifTraverser1 = tree.getTraverser(); - ifTraverser1.find((TreeNode node) -> { - ByteBuffer attribute = node.getAttributes().get(key); - if (attribute != null) { - byte[] byteAttribute = attribute.array(); - String str = new String(byteAttribute); - System.out.println("attribute = " + str); - return str.equals("<-1,0,1>"); - } - return false; - }, key, "<-1,0,1>"); - - ifTraverser1.commitIndex(); - JungleTree newTree2 = jungle.getTreeByName("tree"); - InterfaceTraverser newIfTraverser2 = newTree2.getTraverser(); - TreeMap<String, TreeMap<String, List<NodePath>>> newIndex1 = newIfTraverser2.getIndex(); - Assert.assertFalse(newIndex1.isEmpty()); + ifTraverser1.find((TreeNode node) -> { + List<ByteBuffer> attributeList = node.getAttributes().get(key); + if (attributeList.isNotEmpty()) { + for (ByteBuffer attribute : attributeList) { + byte[] byteAttribute = attribute.array(); + String str = new String(byteAttribute); + System.out.println("attribute = " + str); + if (str.equals("<-1,0,1>")) + return true; + continue; + } + } + return false; + }, key, "<-1,0,1>"); - } + ifTraverser1.commitIndex(); + JungleTree newTree2 = jungle.getTreeByName("tree"); + InterfaceTraverser newIfTraverser2 = newTree2.getTraverser(); + TreeMap<String, TreeMap<String, List<NodePath>>> newIndex1 = newIfTraverser2.getIndex(); + Assert.assertFalse(newIndex1.isEmpty()); + + } - public boolean compare(TreeNode compareNode, String compareAttribute) { - String labName = compareNode.getAttributes().getString(key); - if (labName.equals(compareAttribute)) - return true; - return false; - } + public boolean compare(TreeNode compareNode, String compareAttribute) { + String labName = compareNode.getAttributes().getString(key).next(); + if (labName.equals(compareAttribute)) + return true; + return false; + } - public static String key = "KEY"; - public static DefaultTreeNode factory = new DefaultTreeNode(); - - public void createTree(JungleTree tree) { - NodePath root = new DefaultNodePath(); - createChildren(tree, root, 0); + public static String key = "KEY"; + public static DefaultTreeNode factory = new DefaultTreeNode(); - for (int x = 0; x < 2; x++) { - createChildren(tree, root.add(0), x); - for (int y = 0; y < 2; y++) { - createChildren(tree, root.add(0).add(x), y); - } - } + public void createTree(JungleTree tree) { + NodePath root = new DefaultNodePath(); + createChildren(tree, root, 0); - } + for (int x = 0; x < 2; x++) { + createChildren(tree, root.add(0), x); + for (int y = 0; y < 2; y++) { + createChildren(tree, root.add(0).add(x), y); + } + } + + } - public void createChildren(JungleTree tree, NodePath root, int num) { - JungleTreeEditor editor = tree.getTreeEditor();// Treeのeditorを作成 - Either<Error, JungleTreeEditor> either = editor - .addNewChildAt(root, num); // 新しく入れるところへのパス - if (either.isA()) { - Assert.fail(); - } - editor = either.b(); - either = editor.success(); - if (either.isA()) { - Assert.fail(); - } - NodePath childPath = root.add(num); - editor = tree.getTreeEditor(); - NodePath attribute = root.add(num); - System.out.println(attribute.toString()); - either = editor.putAttribute(childPath, key, - ByteBuffer.wrap(attribute.toString().getBytes())); - if (either.isA()) { - Assert.fail(); - } - editor = either.b(); - either = editor.success(); - } + public void createChildren(JungleTree tree, NodePath root, int num) { + JungleTreeEditor editor = tree.getTreeEditor();// Treeのeditorを作成 + Either<Error, JungleTreeEditor> either = editor.addNewChildAt(root, num); // 新しく入れるところへのパス + if (either.isA()) { + Assert.fail(); + } + editor = either.b(); + either = editor.success(); + if (either.isA()) { + Assert.fail(); + } + NodePath childPath = root.add(num); + editor = tree.getTreeEditor(); + NodePath attribute = root.add(num); + System.out.println(attribute.toString()); + either = editor.putAttribute(childPath, key, ByteBuffer.wrap(attribute.toString().getBytes())); + if (either.isA()) { + Assert.fail(); + } + editor = either.b(); + either = editor.success(); + } }