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);