changeset 7:cd5f2ba0f894 default tip

modify jungleTest
author tatsuki
date Thu, 01 Dec 2016 16:23:13 +0900
parents 233bb94ec43a
children
files build/classes/test/jp/ac/u_ryukyu/ie/cr/JDBCTest.class build/classes/test/jp/ac/u_ryukyu/ie/cr/JungleTest.class src/test/java/jp/ac/u_ryukyu/ie/cr/JungleTest.java
diffstat 3 files changed, 48 insertions(+), 45 deletions(-) [+]
line wrap: on
line diff
Binary file build/classes/test/jp/ac/u_ryukyu/ie/cr/JDBCTest.class has changed
Binary file build/classes/test/jp/ac/u_ryukyu/ie/cr/JungleTest.class has changed
--- a/src/test/java/jp/ac/u_ryukyu/ie/cr/JungleTest.java	Thu Dec 01 15:28:04 2016 +0900
+++ b/src/test/java/jp/ac/u_ryukyu/ie/cr/JungleTest.java	Thu Dec 01 16:23:13 2016 +0900
@@ -4,15 +4,12 @@
 import jp.ac.u_ryukyu.ie.cr.jungle.Jungle;
 import jp.ac.u_ryukyu.ie.cr.jungle.JungleTree;
 import jp.ac.u_ryukyu.ie.cr.jungle.JungleTreeEditor;
-import jp.ac.u_ryukyu.ie.cr.jungle.data.list.DefaultNode;
-import jp.ac.u_ryukyu.ie.cr.jungle.data.treemap.Node;
 import jp.ac.u_ryukyu.ie.cr.jungle.persistent.NullJournal;
+import jp.ac.u_ryukyu.ie.cr.jungle.query.AllNodeIterator;
 import jp.ac.u_ryukyu.ie.cr.jungle.store.NodePath;
 import jp.ac.u_ryukyu.ie.cr.jungle.store.impl.DefaultNodePath;
 import jp.ac.u_ryukyu.ie.cr.jungle.store.impl.DefaultTreeEditor;
 import jp.ac.u_ryukyu.ie.cr.jungle.store.impl.TreeNode;
-import jp.ac.u_ryukyu.ie.cr.jungle.store.impl.TreeNodeAttributes;
-import jp.ac.u_ryukyu.ie.cr.jungle.transaction.DefaultTreeNode;
 import jp.ac.u_ryukyu.ie.cr.jungle.traverser.DefaultTraverser;
 import jp.ac.u_ryukyu.ie.cr.jungle.traverser.InterfaceTraverser;
 import jp.ac.u_ryukyu.ie.cr.jungle.util.Either;
@@ -21,7 +18,6 @@
 import org.junit.Test;
 
 import java.nio.ByteBuffer;
-import java.security.Key;
 import java.util.Iterator;
 
 /**
@@ -31,8 +27,9 @@
 
     public static Jungle jungle;
     public static DefaultNodePath root = new DefaultNodePath();
+
     @Test
-    public void GetTest () {
+    public void GetTest() {
         jungle = new DefaultJungle(new NullJournal(), "Labo", new DefaultTreeEditor(new DefaultTraverser()));
         jungle.createNewTree("User");
         JungleTree tree = jungle.getTreeByName("User");
@@ -43,69 +40,75 @@
         editor = put(editor, root, "Age", "40");
         editor = put(editor, root, "Type", "Teacher");
 
-        editor = put(editor, root, 0, "Name", "Takeda");
-        editor = put(editor, root, 0, "Age", "20");
-        editor = put(editor, root, 0, "Type", "Student");
+        editor = addNewChild(editor, root, 0);
+        NodePath path = root.add(0);
+        editor = put(editor, path, "Name", "kanagwa");
+        editor = put(editor, path, "Age", "24");
+        editor = put(editor, path, "Type", "Teacher");
+
+        editor = addNewChild(editor,path,0);
+        editor = put(editor, path.add(0), "Name", "Takeda");
+        editor = put(editor, path.add(0), "Age", "20");
+        editor = put(editor, path.add(0), "Type", "Student");
+
+        editor = addNewChild(editor,path,1);
+        editor = put(editor, path.add(1), "Name", "Miyagi");
+        editor = put(editor, path.add(1), "Age", "22");
+        editor = put(editor, path.add(1), "Type", "Student");
 
-        editor = put(editor, root, 1, "Name", "Miyagi");
-        editor = put(editor, root, 1, "Age", "22");
-        editor = put(editor, root, 1, "Type", "Student");
+        editor = addNewChild(editor,path,2);
+        editor = put(editor, path.add(2), "Name", "Higashi");
+        editor = put(editor, path.add(2), "Age", "20");
+        editor = put(editor, path.add(2), "Type", "Student");
 
-        editor = put(editor, root, 2, "Name", "Higashionna");
-        editor = put(editor, root, 2, "Age", "20");
-        editor = put(editor, root, 2, "Type", "Student");
+        editor = addNewChild(editor,root,1);
+        path = root.add(1);
+        editor = put(editor, path, "Name", "atton");
+        editor = put(editor, path, "Age", "24");
+        editor = put(editor, path, "Type", "Teacher");
+
+
+        editor = addNewChild(editor,path ,0);
+        path = path.add(0);
+        editor = put(editor, path, "Name", "parusu");
+        editor = put(editor, path, "Age", "23");
+        editor = put(editor, path, "Type", "Student");
+
+        path = new DefaultNodePath().add(0);
 
         Either<Error, JungleTreeEditor> either = editor.success();
         if (either.isA())
             Assert.fail();
 
         tree = jungle.getTreeByName("User");
-
-        // Find
         InterfaceTraverser traverser = tree.getTraverser(false);
         Iterator<TreeNode> iterator = traverser.find((TreeNode node) -> {
             String value = node.getAttributes().getString("Name");
             if (value == null)
                 return false;
-            if (value.equals("Takeda"))
+            if (value.equals("Kono"))
                 return true;
             return false;
-        }, "Type", "Student");
+        }, "Type", "Teacher");
 
-        while (iterator.hasNext()){
-            System.out.println(iterator.next().getAttributes().getString("Name"));
+        while (iterator.hasNext()) {
+            TreeNode node = iterator.next();
+            AllNodeIterator nodeIterator = new AllNodeIterator(node);
+            while (nodeIterator.hasNext()) {
+                System.out.println(nodeIterator.next().getAttributes().getString("Name"));
+            }
         }
-        // Get
-//        ByteBuffer kono_age = get("User", root, "Shinji");
-//        ByteBuffer kazuma_age = get("User", root.add(0), "Kazuma");
-//        ByteBuffer mitsuki_age = get("User", root.add(1), "Mitsuki");
-//        ByteBuffer takui_age = get("User", root.add(2), "Takui");
     }
 
-    public JungleTreeEditor put(JungleTreeEditor editor, NodePath path, int n, String key, String value) {
-
-        Either<Error, JungleTreeEditor> either = editor.addNewChildAt(path, n);
-        if (either.isA())
-            Assert.fail();
-        editor = either.b();
-
-        either = editor.putAttribute(path.add(n), key, ByteBuffer.wrap(value.getBytes()));
-        if (either.isA())
-            Assert.fail();
-        editor = either.b();
-        return editor;
+    private JungleTreeEditor addNewChild(JungleTreeEditor editor, NodePath path, int i) {
+        return editor.addNewChildAt(path,i).b();
     }
 
     public JungleTreeEditor put(JungleTreeEditor editor, NodePath path, String key, String value) {
-
-        Either<Error, JungleTreeEditor> either = editor.putAttribute(path, key, ByteBuffer.wrap(value.getBytes()));
-        if (either.isA())
-            Assert.fail();
-        editor = either.b();
-        return editor;
+        return editor.putAttribute(path, key, ByteBuffer.wrap(value.getBytes())).b();
     }
 
-    public ByteBuffer get (String treeName, NodePath path, String key) {
+    public ByteBuffer get(String treeName, NodePath path, String key) {
         JungleTree tree = jungle.getTreeByName(treeName);
         Either<Error, TreeNode> e = tree.getNodeOfPath(path);
         if (e.isA())