45
|
1 package jp.ac.u_ryukyu.ie.cr.shoshi.jungle.tests.util;
|
|
2
|
|
3 import java.nio.ByteBuffer;
|
|
4
|
|
5 import jp.ac.u_ryukyu.ie.cr.shoshi.jungle.store.NodePath;
|
|
6 import jp.ac.u_ryukyu.ie.cr.shoshi.jungle.store.impl.DefaultNodePath;
|
54
|
7 import jp.ac.u_ryukyu.ie.cr.shoshi.jungle.transaction.DefaultTreeNode;
|
45
|
8 import jp.ac.u_ryukyu.ie.cr.shoshi.jungle.util.Either;
|
|
9 import jp.ac.u_ryukyu.ie.cr.shoshi.jungle.util.Error;
|
|
10
|
|
11 public class TestUtil
|
|
12 {
|
54
|
13 public static DefaultTreeNode createMockTree(int _maxDepth)
|
45
|
14 {
|
|
15 return _createMockTree(1,_maxDepth,new DefaultNodePath());
|
|
16 }
|
|
17
|
54
|
18 public static DefaultTreeNode _createMockTree(int _currentDepth,int _maxDepth,NodePath _path)
|
45
|
19 {
|
54
|
20 DefaultTreeNode parent = new DefaultTreeNode();
|
|
21 Either<Error, DefaultTreeNode> either = parent.getAttributes().put("KEY",ByteBuffer.wrap(_path.toString().getBytes()));
|
45
|
22 if(either.isA()){
|
|
23 return null;
|
|
24 }
|
|
25 parent = either.b();
|
|
26
|
|
27 if(_currentDepth != _maxDepth){
|
|
28 for(int i = 0;i <= _currentDepth;i ++){
|
54
|
29 DefaultTreeNode ch = _createMockTree(_currentDepth + 1,_maxDepth,_path.add(i));
|
45
|
30 either = parent.getChildren().addNewChildAt(i,ch);
|
|
31 if(either.isA()){
|
|
32 return null;
|
|
33 }
|
|
34 parent = either.b();
|
|
35 }
|
|
36 }
|
|
37
|
|
38 return parent;
|
|
39 }
|
|
40 }
|