Mercurial > hg > Members > tatsuki > bench > jungle-core
comparison src/test/java/jp/ac/u_ryukyu/ie/cr/tatsuki/jungle/index/AddChildrenIndexTest.java @ 143:afbe19c98f53
change Index form TreeMap<String,TreeMap<String<List<Pair<TreeNode,NodePath>>>> → TreeMap<String,TreeMap<String<List<NodePath>>>
bag
author | one |
---|---|
date | Sat, 15 Nov 2014 17:48:07 +0900 |
parents | 3071b1a471fd |
children | 0854f9a9e81d |
comparison
equal
deleted
inserted
replaced
142:ef183969bf31 | 143:afbe19c98f53 |
---|---|
27 import junit.framework.Assert; | 27 import junit.framework.Assert; |
28 | 28 |
29 public class AddChildrenIndexTest { | 29 public class AddChildrenIndexTest { |
30 | 30 |
31 @Test | 31 @Test |
32 public void DeleteChildrenTest(){ | 32 public void AddChildrenTest(){ |
33 Jungle jungle = new DefaultJungle(null, "hogehoge",new DefaultTreeEditor(new DefaultTraverser())); | 33 Jungle jungle = new DefaultJungle(null, "hogehoge",new DefaultTreeEditor(new DefaultTraverser())); |
34 jungle.createNewTree("tree"); | 34 jungle.createNewTree("tree"); |
35 JungleTree tree = jungle.getTreeByName("tree"); | 35 JungleTree tree = jungle.getTreeByName("tree"); |
36 createTree(tree); | 36 createTree(tree); |
37 tree.getRootNode(); | 37 tree.getRootNode(); |
56 IndexJungleTreeEditor editor = tree.getIndexTreeEditor(); | 56 IndexJungleTreeEditor editor = tree.getIndexTreeEditor(); |
57 Either<Error, JungleTreeEditor> either = editor.addNewChildAt(new DefaultNodePath().add(0), 0); | 57 Either<Error, JungleTreeEditor> either = editor.addNewChildAt(new DefaultNodePath().add(0), 0); |
58 either.b().success(); | 58 either.b().success(); |
59 | 59 |
60 InterfaceTraverser newIfTraverser = tree.getTraverser(); | 60 InterfaceTraverser newIfTraverser = tree.getTraverser(); |
61 TreeMap<String, TreeMap<String, List<Pair<TreeNode, NodePath>>>> newIndex = newIfTraverser.getIndex(); | 61 TreeMap<String, TreeMap<String, List<NodePath>>> newIndex = newIfTraverser.getIndex(); |
62 Assert.assertEquals(newIndex.get(key).some().get("<-1,0,1>").some().head().right().toString(),"<-1,0,2>"); | 62 NodePath targetPath = newIndex.get(key).some().get("<-1,0,2>").some().head(); |
63 TreeNode targetNode = getTarget(tree.getRootNode(), targetPath); | |
64 Assert.assertEquals(targetNode.getAttributes().getString(key) ,"<-1,0,1>"); | |
63 | 65 |
64 } | 66 } |
65 public static String key = "KEY"; | 67 public static String key = "KEY"; |
66 public static DefaultTreeNode factory = new DefaultTreeNode(); | 68 public static DefaultTreeNode factory = new DefaultTreeNode(); |
67 | 69 |
99 Assert.fail(); | 101 Assert.fail(); |
100 } | 102 } |
101 editor = either.b(); | 103 editor = either.b(); |
102 either = editor.success(); | 104 either = editor.success(); |
103 } | 105 } |
106 public TreeNode getTarget(TreeNode node, NodePath path) { | |
107 Pair<Integer, NodePath> removeHeadPath = path.pop(); | |
108 | |
109 if (removeHeadPath.left() == -1) | |
110 return getTarget(node, removeHeadPath.right()); | |
111 | |
112 Either<Error, TreeNode> either = node.getChildren().at(removeHeadPath.left()); | |
113 if (either.isA()) | |
114 return node; | |
115 | |
116 TreeNode child = either.b(); | |
117 if (removeHeadPath.right().size() == 0) | |
118 return child; | |
119 | |
120 TreeNode target = getTarget(child, removeHeadPath.right()); | |
121 return target; | |
122 } | |
104 } | 123 } |