public void TestNormalWorkflow()
        {
            var manager = new TestWorkflowManager();
            var result  = new TestWorkflow().Run(manager).Result;

            Assert.IsTrue(result);
        }
        public async Task WorkflowManagerBase_Single_Entity_Context_Works()
        {
            var testContext       = new TestContext(new TestEntity());
            var instanceUnderTest = new TestWorkflowManager(true);
            await instanceUnderTest.Run(testContext);

            Assert.IsNull(testContext.Original);
            Assert.AreEqual(String.Concat("|", Task1Name, "|", Task2Name), testContext.Target.TestResult);
        }
        public async Task WorkflowManagerBase_DefaultConstructor_Automatically_Orders_Rules()
        {
            var testContext       = new TestContext(new TestEntity(), new TestEntity());
            var instanceUnderTest = new TestWorkflowManager(true);
            await instanceUnderTest.Run(testContext);

            Assert.AreEqual(String.Concat("|", Task1Name, "|", Task2Name), testContext.Original.TestResult);
            Assert.AreEqual(String.Concat("|", Task1Name, "|", Task2Name), testContext.Target.TestResult);
        }