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