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 + -
显示快捷键?