Mercurial > hg > Members > tatsuki > bench > jungle-core
comparison src/test/java/jp/ac/u_ryukyu/ie/cr/tatsuki/query/SearchQueryTest.java @ 126:f81ec544a155
add index push but bad compete
author | one |
---|---|
date | Thu, 09 Oct 2014 18:15:14 +0900 |
parents | a0c4a4b8ad10 |
children | b2c1fd513feb |
comparison
equal
deleted
inserted
replaced
125:a0c4a4b8ad10 | 126:f81ec544a155 |
---|---|
35 Jungle jungle = new DefaultJungle(null, "hogehoge",new DefaultTreeEditor(new DefaultTraverser())); | 35 Jungle jungle = new DefaultJungle(null, "hogehoge",new DefaultTreeEditor(new DefaultTraverser())); |
36 jungle.createNewTree("tree"); | 36 jungle.createNewTree("tree"); |
37 JungleTree tree = jungle.getTreeByName("tree"); | 37 JungleTree tree = jungle.getTreeByName("tree"); |
38 createTree(tree); | 38 createTree(tree); |
39 InterfaceTraverser ifTraverser = tree.getTraverser(); | 39 InterfaceTraverser ifTraverser = tree.getTraverser(); |
40 TreeMap<String, TreeMap<String, List<Pair<TreeNode, NodePath>>>> cheackIndex = ifTraverser.getIndex(); | |
41 Assert.assertTrue(cheackIndex.isEmpty()); | |
42 | |
40 Iterator<Pair<TreeNode, NodePath>> searchNode = ifTraverser.find( | 43 Iterator<Pair<TreeNode, NodePath>> searchNode = ifTraverser.find( |
41 (TreeNode node) -> { | 44 (TreeNode node) -> { |
42 ByteBuffer attribute = node.getAttributes().get(key); | 45 ByteBuffer attribute = node.getAttributes().get(key); |
43 if(attribute != null){ | 46 if(attribute != null){ |
44 byte[] byteAttribute = attribute.array(); | 47 byte[] byteAttribute = attribute.array(); |
48 } | 51 } |
49 return false; | 52 return false; |
50 } | 53 } |
51 ,key,"<-1,0,1>"); | 54 ,key,"<-1,0,1>"); |
52 | 55 |
56 | |
53 while (searchNode.hasNext()){ | 57 while (searchNode.hasNext()){ |
54 Assert.assertTrue(compare(searchNode.next().left(),"<-1,0,1>")); | 58 Assert.assertTrue(compare(searchNode.next().left(),"<-1,0,1>")); |
55 } | 59 } |
56 | 60 |
57 searchNode = ifTraverser.find( | |
58 (TreeNode node) -> { | |
59 ByteBuffer attribute = node.getAttributes().get(key); | |
60 if(attribute != null){ | |
61 byte[] byteAttribute = attribute.array(); | |
62 String str = new String(byteAttribute); | |
63 System.out.println("attribute = " + str); | |
64 return str.equals("<-1,0,0>"); | |
65 } | |
66 return false; | |
67 } | |
68 ,key,"<-1,0,0>"); | |
69 | |
70 while (searchNode.hasNext()){ | |
71 Pair<TreeNode, NodePath> pathNode = searchNode.next(); | |
72 System.out.println("last = "+pathNode.left().getAttributes().getString(key)); | |
73 Assert.assertTrue(compare(pathNode.left(),"<-1,0,0>")); | |
74 System.out.println(pathNode.left().getAttributes().getString(key)); | |
75 } | |
76 | |
77 TreeMap<String, TreeMap<String, List<Pair<TreeNode, NodePath>>>> index = ifTraverser.getIndex(); | 61 TreeMap<String, TreeMap<String, List<Pair<TreeNode, NodePath>>>> index = ifTraverser.getIndex(); |
78 Option<TreeMap<String, List<Pair<TreeNode, NodePath>>>> opIndex = index.get(key); | 62 Option<TreeMap<String, List<Pair<TreeNode, NodePath>>>> opIndex = index.get(key); |
79 Assert.assertTrue(!opIndex.isNone()); | 63 Assert.assertTrue(!opIndex.isNone()); |
64 TreeMap<String, List<Pair<TreeNode, NodePath>>> innerIndex = opIndex.some(); | |
65 Assert.assertTrue(!innerIndex.get("<-1,0,0>").isNone()); | |
66 | |
67 IndexPushThread wt = new IndexPushThread(index, tree); | |
68 wt.start(); | |
69 | |
70 JungleTree newTree = jungle.getTreeByName("tree"); | |
71 InterfaceTraverser newIfTraverser = newTree.getTraverser(); | |
72 TreeMap<String, TreeMap<String, List<Pair<TreeNode, NodePath>>>> newIndex = newIfTraverser.getIndex(); | |
73 Assert.assertFalse(newIndex.isEmpty()); | |
74 | |
80 } | 75 } |
81 | 76 |
82 | 77 |
83 public boolean compare(TreeNode compareNode, String compareAttribute) { | 78 public boolean compare(TreeNode compareNode, String compareAttribute) { |
84 String labName = compareNode.getAttributes().getString(key); | 79 String labName = compareNode.getAttributes().getString(key); |