view src/test/csharp/DefaultJungleTreeTest.cs @ 7:02b2ab7bffe6

fix
author Kazuma
date Tue, 27 Sep 2016 18:36:05 +0900
parents dec15de2c6ff
children
line wrap: on
line source

using UnityEngine;
using System;
//using System.Diagnostics;

public class DefaultJungleTreeTest : MonoBehaviour {
	// apiの仕様的にこんな感じ
	private readonly int COUNT = 500;
	public Jungle instance() {
		Jungle j = new DefaultJungle(null, "hoge", new DefaultTreeEditor(new DefaultTraverser()));  // hogeというtreeを作る
		return j;
	}

	public string key = "moumou";
	private byte[] value = BitConverter.GetBytes(10);

	public void Insert () {
		Jungle j = new DefaultJungle(null, "hoge", new DefaultTreeEditor(new DefaultTraverser()));
		JungleTree t = j.createNewTree("tree");

		JungleTreeEditor editor1 = t.getTreeEditor();

		DefaultNodePath root = new DefaultNodePath();

		float check_time = Time.realtimeSinceStartup;

		for(int i = 0; i < COUNT; i++) { 
			Either<Error, JungleTreeEditor> either = editor1.putAttribute(root, i.ToString(), value);
			if (either.isA()) {
				Debug.Log("失敗しました。");
			}
			editor1 = either.b ();

			Either<Error, JungleTreeEditor> r = editor1.success();
			if (!r.isA()) {
				Debug.Log("失敗しました。");
			}
			r.b();
		}
		check_time = Time.realtimeSinceStartup - check_time;
		print ("処理時間 : " + check_time);

		TreeNode node = t.getRootNode();
		for (int i = 0; i < COUNT; i++) {
			byte[] v = node.getAttributes ().get (i.ToString());
			print (BitConverter.ToInt32 (v, 0));
		}
	}

}