fibonaccitests.cs

来自「drools 一个开放源码的规则引擎」· CS 代码 · 共 47 行

CS
47
字号
using System;
using NUnit.Framework;
using org.drools.@event;
using org.drools.semantics.dotnet;
using System.IO;

namespace org.drools.dotnet.examples.fibonacci
{
	[TestFixture]
	public class FibonacciTests
	{
		[Test]
		public void TestFibonacciExample()
		{
			RuleBase ruleBase = RuleBaseLoader.LoadFromUri(new Uri(
				"./drls/fibonacci.csharp.drl.xml", UriKind.Relative));
			WorkingMemory workingMemory = ruleBase.newWorkingMemory();
			workingMemory.addEventListener(new DebugWorkingMemoryEventListener());

			Fibonacci fibonacci;
			long start;
			long stop;

			fibonacci = new Fibonacci(50);
			start = DateTime.Now.Ticks;
			workingMemory.assertObject(fibonacci);
			workingMemory.fireAllRules();
			stop = DateTime.Now.Ticks;

			Console.WriteLine("First Run: fibonacci(" + fibonacci.Sequence + ") == " +
				fibonacci.Value + " took " + (stop - start) / 10000 + "ms");
			Assert.AreEqual(50, fibonacci.Sequence);
			Assert.AreEqual(12586269025, fibonacci.Value);

			workingMemory = ruleBase.newWorkingMemory();
			fibonacci = new Fibonacci(50);
			start = DateTime.Now.Ticks;
			workingMemory.assertObject(fibonacci);
			workingMemory.fireAllRules();
			stop = DateTime.Now.Ticks;
			Console.WriteLine("Second Run: fibonacci(" + fibonacci.Sequence + ") == " +
				fibonacci.Value + " took " + (stop - start) / 10000 + "ms");
			Assert.AreEqual(50, fibonacci.Sequence);
			Assert.AreEqual(12586269025, fibonacci.Value);
		}
	}
}

⌨️ 快捷键说明

复制代码Ctrl + C
搜索代码Ctrl + F
全屏模式F11
增大字号Ctrl + =
减小字号Ctrl + -
显示快捷键?