public void InvokeWithExtensions() { var childActivity = new TestActivityWithExtensions(); var target = new InvokeWorkflow(); var incStore = new IncrementStore(); var decStore = new DecrementStore(); var extensions = new object[] { incStore, decStore }; dynamic innerInput = new WorkflowArguments(); innerInput.Num = 3; dynamic input = new WorkflowArguments(); input.Activity = childActivity; input.Input = innerInput; input.Extensions = extensions; // inner dictionary gets passed to child var host = WorkflowInvokerTest.Create(target); try { host.TestActivity(input); Assert.AreEqual(4, incStore.Value); Assert.AreEqual(2, decStore.Value); } finally { host.Tracking.Trace(); } }
public void LoadAndInvokeWorkflowWithExtensions() { var target = new LoadAndInvokeWorkflow(); var incStore = new IncrementStore(); var decStore = new DecrementStore(); var extensions = new object[] { incStore, decStore }; dynamic innerInput = new WorkflowArguments(); innerInput.Num = 3; dynamic input = new WorkflowArguments(); input.Input = innerInput; input.Path = "ChildWithExtensions.xaml"; input.Extensions = extensions; input.LocalAssembly = Assembly.GetExecutingAssembly(); var host = WorkflowInvokerTest.Create(target); try { host.TestActivity(input); Assert.AreEqual(4, incStore.Value); Assert.AreEqual(2, decStore.Value); } finally { host.Tracking.Trace(); } }