castletestcase.cs

来自「基于DotNet的工作流引擎实现」· CS 代码 · 共 59 行

CS
59
字号
using System.Collections;
using DotNetTools.Workflow.Spi;
using NUnit.Framework;

namespace DotNetTools.Workflow.Util
{
	[TestFixture]
	public class CastleTestCase : TestCaseBase
	{
		public CastleTestCase()
		{
			
		}
		[Test]
		public void Test()
		{
			
			CastleContainer context=new CastleContainer();
			
			IWorkflow workflow=(IWorkflow)context["workflow"];
		
		
			
			long workflowId = workflow.Initialize("castle", 1, null);
			IList currentSteps = workflow.GetCurrentSteps(workflowId);
			//校验只有一个当前步骤
			Assert.AreEqual( 1, currentSteps.Count,"Unexpected number of current steps");
			//校验这个步骤是1
			IStep currentStep = (IStep)currentSteps[0];
			Assert.AreEqual(1, currentStep.StepId,"Unexpected current step");

			int[] availableActions = workflow.GetAvailableActions(workflowId);
			//校验只有一个可执行的动作

			Assert.AreEqual( 1, availableActions.Length,"Unexpected number of available actions");
			//校验这个动作是2
			Assert.AreEqual(2, availableActions[0],"Unexpected available action");
			workflow.DoAction(workflowId, 2, null);
			availableActions = workflow.GetAvailableActions(workflowId);
			Assert.AreEqual(1,availableActions.Length);

			Assert.AreEqual(3,availableActions[0]);
			workflow.DoAction(workflowId,3,null);
			availableActions = workflow.GetAvailableActions(workflowId);
			Assert.AreEqual(0,availableActions.Length);

			
			
			
			
		}


		
	}

	
}

⌨️ 快捷键说明

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