annotate src/test/java/jp/ac/u_ryukyu/ie/cr/jungle/CreateTreeMethod.java @ 329:2a0cb1f0ba4e

rename Error package
author kono
date Sat, 08 Jul 2017 21:05:55 +0900
parents 0767620e6f5f
children
Ignore whitespace changes - Everywhere: Within whitespace: At end of lines:
rev   line source
282
5da8a19dbe76 fix index difference update
tatsuki
parents:
diff changeset
1 package jp.ac.u_ryukyu.ie.cr.jungle;
5da8a19dbe76 fix index difference update
tatsuki
parents:
diff changeset
2
5da8a19dbe76 fix index difference update
tatsuki
parents:
diff changeset
3 import jp.ac.u_ryukyu.ie.cr.jungle.store.nodepath.NodePath;
5da8a19dbe76 fix index difference update
tatsuki
parents:
diff changeset
4 import jp.ac.u_ryukyu.ie.cr.jungle.transaction.editor.jungleTreeEditor.JungleTreeEditor;
5da8a19dbe76 fix index difference update
tatsuki
parents:
diff changeset
5 import jp.ac.u_ryukyu.ie.cr.jungle.util.Either;
329
2a0cb1f0ba4e rename Error package
kono
parents: 302
diff changeset
6 import jp.ac.u_ryukyu.ie.cr.jungle.util.jungleError.Error;
282
5da8a19dbe76 fix index difference update
tatsuki
parents:
diff changeset
7 import junit.framework.Assert;
5da8a19dbe76 fix index difference update
tatsuki
parents:
diff changeset
8
5da8a19dbe76 fix index difference update
tatsuki
parents:
diff changeset
9 import java.nio.ByteBuffer;
5da8a19dbe76 fix index difference update
tatsuki
parents:
diff changeset
10
5da8a19dbe76 fix index difference update
tatsuki
parents:
diff changeset
11 /**
5da8a19dbe76 fix index difference update
tatsuki
parents:
diff changeset
12 * Created by e115731 on 2016/12/28.
5da8a19dbe76 fix index difference update
tatsuki
parents:
diff changeset
13 */
5da8a19dbe76 fix index difference update
tatsuki
parents:
diff changeset
14 public class CreateTreeMethod {
5da8a19dbe76 fix index difference update
tatsuki
parents:
diff changeset
15
302
0767620e6f5f implements DifferentialInterfaceTraverser and this tests
tatsuki
parents: 282
diff changeset
16 /**
0767620e6f5f implements DifferentialInterfaceTraverser and this tests
tatsuki
parents: 282
diff changeset
17 * Jungleの木を構築する関数
0767620e6f5f implements DifferentialInterfaceTraverser and this tests
tatsuki
parents: 282
diff changeset
18 * maxHeightで指定した深さまで木を構築する
0767620e6f5f implements DifferentialInterfaceTraverser and this tests
tatsuki
parents: 282
diff changeset
19 * ノードは3つの子を持つ
0767620e6f5f implements DifferentialInterfaceTraverser and this tests
tatsuki
parents: 282
diff changeset
20 */
282
5da8a19dbe76 fix index difference update
tatsuki
parents:
diff changeset
21 public static JungleTreeEditor createTree(JungleTreeEditor editor, String key, String indexKey, int _maxHeight, NodePath path) {
5da8a19dbe76 fix index difference update
tatsuki
parents:
diff changeset
22 JungleTreeEditor newEditor = createTree(editor, key, indexKey, 0, _maxHeight, path);
5da8a19dbe76 fix index difference update
tatsuki
parents:
diff changeset
23 Either<Error,JungleTreeEditor> either = newEditor.success();
5da8a19dbe76 fix index difference update
tatsuki
parents:
diff changeset
24 if (either.isA())
5da8a19dbe76 fix index difference update
tatsuki
parents:
diff changeset
25 Assert.fail();
5da8a19dbe76 fix index difference update
tatsuki
parents:
diff changeset
26 return either.b();
5da8a19dbe76 fix index difference update
tatsuki
parents:
diff changeset
27 }
5da8a19dbe76 fix index difference update
tatsuki
parents:
diff changeset
28
5da8a19dbe76 fix index difference update
tatsuki
parents:
diff changeset
29 private static JungleTreeEditor createTree(JungleTreeEditor editor, String key, String indexKey, int _curY, int _maxHeight, NodePath path) {
5da8a19dbe76 fix index difference update
tatsuki
parents:
diff changeset
30
5da8a19dbe76 fix index difference update
tatsuki
parents:
diff changeset
31 if (_curY == _maxHeight) {
5da8a19dbe76 fix index difference update
tatsuki
parents:
diff changeset
32 return editor;
5da8a19dbe76 fix index difference update
tatsuki
parents:
diff changeset
33 }
5da8a19dbe76 fix index difference update
tatsuki
parents:
diff changeset
34 for (int i = 0; i < 3; i++) {
5da8a19dbe76 fix index difference update
tatsuki
parents:
diff changeset
35
5da8a19dbe76 fix index difference update
tatsuki
parents:
diff changeset
36 Either<Error, JungleTreeEditor> either = editor.addNewChildAt(path, i);
5da8a19dbe76 fix index difference update
tatsuki
parents:
diff changeset
37 if (either.isA())
5da8a19dbe76 fix index difference update
tatsuki
parents:
diff changeset
38 Assert.fail();
5da8a19dbe76 fix index difference update
tatsuki
parents:
diff changeset
39 editor = either.b();
5da8a19dbe76 fix index difference update
tatsuki
parents:
diff changeset
40 String value = path.add(i).toString();
5da8a19dbe76 fix index difference update
tatsuki
parents:
diff changeset
41 either = editor.putAttribute(path.add(i), key, ByteBuffer.wrap(value.getBytes()));
5da8a19dbe76 fix index difference update
tatsuki
parents:
diff changeset
42 if (either.isA())
5da8a19dbe76 fix index difference update
tatsuki
parents:
diff changeset
43 Assert.fail();
5da8a19dbe76 fix index difference update
tatsuki
parents:
diff changeset
44 editor = either.b();
5da8a19dbe76 fix index difference update
tatsuki
parents:
diff changeset
45 either = editor.putAttribute(path.add(i), indexKey, ByteBuffer.wrap(value.getBytes()));
5da8a19dbe76 fix index difference update
tatsuki
parents:
diff changeset
46 if (either.isA())
5da8a19dbe76 fix index difference update
tatsuki
parents:
diff changeset
47 Assert.fail();
5da8a19dbe76 fix index difference update
tatsuki
parents:
diff changeset
48 editor = either.b();
5da8a19dbe76 fix index difference update
tatsuki
parents:
diff changeset
49 editor = createTree(editor, key, indexKey, _curY + 1, _maxHeight, path.add(i));
5da8a19dbe76 fix index difference update
tatsuki
parents:
diff changeset
50 }
5da8a19dbe76 fix index difference update
tatsuki
parents:
diff changeset
51 return editor;
5da8a19dbe76 fix index difference update
tatsuki
parents:
diff changeset
52 }
5da8a19dbe76 fix index difference update
tatsuki
parents:
diff changeset
53 }