Example #1
0
        public void WorkflowService_Dot_ReturnsADotDefinition()
        {
            // Arrange
            SimpleWorkflowDefinitionProvider.Instance
            .RegisterWorkflowDefinition(new OnOffWorkflow());

            IUserWorkflowMappingService userWorkflowMappingService
                = new TestUserWorkflowMappingService();

            IWorkflowDefinitionViewModelCreator workflowDefinitionViewModelCreator
                = new TestWorkflowDefinitionViewModelCreator();

            IWorkflowService service = new WorkflowService(
                SimpleWorkflowDefinitionProvider.Instance,
                userWorkflowMappingService,
                workflowDefinitionViewModelCreator
                );

            var expected = new StringBuilder();

            expected.AppendLine("digraph OnOffWorkflow {");
            expected.AppendLine("  On -> Off [ label = SwitchOff ];");
            expected.AppendLine("  Off -> On [ label = SwitchOn ];");
            expected.AppendLine("}");

            // Act
            var diagraph = service.Dot(OnOffWorkflow.TYPE);

            // Assert
            Assert.AreEqual(expected.ToString(), diagraph);
        }
Example #2
0
        public void WorkflowService_DotPassingInNull_FailsWithArgumentNullException()
        {
            // Arrange
            SimpleWorkflowDefinitionProvider.Instance
            .RegisterWorkflowDefinition(new OnOffWorkflow());

            IUserWorkflowMappingService userWorkflowMappingService
                = new TestUserWorkflowMappingService();

            IWorkflowDefinitionViewModelCreator workflowDefinitionViewModelCreator
                = new TestWorkflowDefinitionViewModelCreator();

            IWorkflowService service = new WorkflowService(
                SimpleWorkflowDefinitionProvider.Instance,
                userWorkflowMappingService,
                workflowDefinitionViewModelCreator
                );

            // Act
            Assert.ThrowsException <ArgumentNullException>(() => service.Dot(null));
        }