Mercurial > hg > Members > tatsuki > bench > jungle-core
view src/test/java/jp/ac/u_ryukyu/ie/cr/shoshi/jungle/tests/util/TestUtil.java @ 45:fb00d7b147c8
added JungleTree service
author | Shoshi TAMAKI |
---|---|
date | Tue, 05 Feb 2013 02:04:34 +0900 |
parents | |
children | 650fe2a0dccc |
line wrap: on
line source
package jp.ac.u_ryukyu.ie.cr.shoshi.jungle.tests.util; import java.nio.ByteBuffer; import jp.ac.u_ryukyu.ie.cr.shoshi.jungle.store.NodePath; import jp.ac.u_ryukyu.ie.cr.shoshi.jungle.store.impl.DefaultNodePath; import jp.ac.u_ryukyu.ie.cr.shoshi.jungle.transaction.ClonableDefaultNode; import jp.ac.u_ryukyu.ie.cr.shoshi.jungle.util.Either; import jp.ac.u_ryukyu.ie.cr.shoshi.jungle.util.Error; public class TestUtil { public static ClonableDefaultNode createMockTree(int _maxDepth) { return _createMockTree(1,_maxDepth,new DefaultNodePath()); } public static ClonableDefaultNode _createMockTree(int _currentDepth,int _maxDepth,NodePath _path) { ClonableDefaultNode parent = new ClonableDefaultNode(); Either<Error, ClonableDefaultNode> either = parent.getAttributes().put("KEY",ByteBuffer.wrap(_path.toString().getBytes())); if(either.isA()){ return null; } parent = either.b(); if(_currentDepth != _maxDepth){ for(int i = 0;i <= _currentDepth;i ++){ ClonableDefaultNode ch = _createMockTree(_currentDepth + 1,_maxDepth,_path.add(i)); either = parent.getChildren().addNewChildAt(i,ch); if(either.isA()){ return null; } parent = either.b(); } } return parent; } }