view src/test/java/jp/ac/u_ryukyu/ie/cr/jungle/tests/util/TestUtil.java @ 0:44465893e8b8

first Commit
author Kazuma
date Wed, 30 Nov 2016 01:47:55 +0900
parents
children
line wrap: on
line source

package jp.ac.u_ryukyu.ie.cr.jungle.tests.util;

import java.nio.ByteBuffer;

import org.junit.Ignore;

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.TreeNode;
import jp.ac.u_ryukyu.ie.cr.jungle.transaction.DefaultTreeNode;
import jp.ac.u_ryukyu.ie.cr.jungle.util.Either;
import jp.ac.u_ryukyu.ie.cr.jungle.util.Error;

@Ignore
public class TestUtil
{
	public static TreeNode createMockTree(int _maxDepth)
	{
		return _createMockTree(1,_maxDepth,new DefaultNodePath());
	}
	
	public static TreeNode _createMockTree(int _currentDepth,int _maxDepth,NodePath _path)
	{
		TreeNode parent = new DefaultTreeNode();
		Either<Error, TreeNode> 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 ++){
				TreeNode ch = _createMockTree(_currentDepth + 1,_maxDepth,_path.add(i));
				either = parent.getChildren().addNewChildAt(i,ch);
				if(either.isA()){
					return null;
				}
				parent = either.b();
			}
		}
		
		return parent;
	}
}