Пример #1
0
        public void WhenStartingAndEndingSessionAndDisposingPipeline_ThenSessionNotAborted()
        {
            using (var pipeline = PipelineConfig.CreatePipeline())
            {
                pipeline.StartSession();
                Assert.True(pipeline.SessionStarted);
                Assert.False(pipeline.SessionAborted);
                pipeline.EndSession();
                Assert.False(pipeline.SessionStarted);
                Assert.False(pipeline.SessionAborted);
            }

            Assert.Equal(8, HistoryOfVisits.Count);

            Assert.Collection(HistoryOfVisits,
                              x => AssertForVisitor.CalledStartSession(VisitorA, x),
                              x => AssertForVisitor.CalledStartSession(VisitorB, x),
                              x => AssertForVisitor.CalledPostStartSession(VisitorB, x),
                              x => AssertForVisitor.CalledPostStartSession(VisitorA, x),
                              x => AssertForVisitor.CalledEndSession(VisitorA, x),
                              x => AssertForVisitor.CalledEndSession(VisitorB, x),
                              x => AssertForVisitor.CalledPostEndSession(VisitorB, x),
                              x => AssertForVisitor.CalledPostEndSession(VisitorA, x)
                              );
        }
        public void WhenCallingRunCommandWithUndefinedCommandName_ThenNoCommandCalled()
        {
            using (var pipeline = PipelineConfig.CreatePipeline())
            {
                pipeline.RunCommand("SomeUndefinedCommandName", "Test");
            }

            Assert.Equal(0, HistoryOfVisits.Count);
        }
Пример #3
0
        public void WhenNotStartingSessionAndDisposingPipeline_ThenNoSessionStartedOrAborted()
        {
            using (var pipeline = PipelineConfig.CreatePipeline())
            {
                // do nothing
            };

            Assert.Equal(0, HistoryOfVisits.Count);
        }
Пример #4
0
        public void WhenStartingSessionAndDisposingPipeline_ThenSessionAborted()
        {
            using (var pipeline = PipelineConfig.CreatePipeline())
            {
                pipeline.StartSession();
            }

            AssertSessionStartedAndAborted();
        }
Пример #5
0
        public void WhenAbortingSessionWithoutStartingIt_ThenNoSessionCommandsInvoked()
        {
            using (var pipeline = PipelineConfig.CreatePipeline())
            {
                pipeline.AbortSession();
                Assert.False(pipeline.SessionStarted);
                Assert.False(pipeline.SessionAborted);
            }

            Assert.Equal(0, HistoryOfVisits.Count);
        }
        public void WhenCallingRunCommandWithNullCommandName_ThenVisitCommandCalledInExpectedStageCommandOrder()
        {
            using (var pipeline = PipelineConfig.CreatePipeline())
            {
                pipeline.RunCommand(null, "Test");
            }

            Assert.Equal(4, HistoryOfVisits.Count);

            Assert.Collection(HistoryOfVisits,
                              x => AssertForVisitor.CalledVisitCommand(VisitorA, "Test", x),
                              x => AssertForVisitor.CalledVisitCommand(VisitorB, "Test", x),
                              x => AssertForVisitor.CalledPostVisitCommand(VisitorB, "Test", x),
                              x => AssertForVisitor.CalledPostVisitCommand(VisitorA, "Test", x));
        }
        public void WhenCallingRunCommandWithGivenCommandName_ThenDefaultVisitCommandCalledInExpectedStageCommandOrder()
        {
            using (var pipeline = PipelineConfig.CreatePipeline())
            {
                // because the Visitor was defined without specifying command name, it will apply to any command run on pipeline, as long as it matches the command TPayload type
                pipeline.RunCommand(CommandName, "Test");
            }

            Assert.Equal(4, HistoryOfVisits.Count);

            Assert.Collection(HistoryOfVisits,
                              x => AssertForVisitor.CalledVisitCommand(VisitorA, "Test", x),
                              x => AssertForVisitor.CalledVisitCommand(VisitorB, "Test", x),
                              x => AssertForVisitor.CalledPostVisitCommand(VisitorB, "Test", x),
                              x => AssertForVisitor.CalledPostVisitCommand(VisitorA, "Test", x));
        }
Пример #8
0
        public void WhenStartingSession_ThenStartSessionCalledInExpectedStageCommandOrder()
        {
            using (var pipeline = PipelineConfig.CreatePipeline())
            {
                pipeline.StartSession();

                Assert.True(pipeline.SessionStarted);

                Assert.Equal(4, HistoryOfVisits.Count);
                Assert.Collection(HistoryOfVisits,
                                  x => AssertForVisitor.CalledStartSession(VisitorA, x),
                                  x => AssertForVisitor.CalledStartSession(VisitorB, x),
                                  x => AssertForVisitor.CalledPostStartSession(VisitorB, x),
                                  x => AssertForVisitor.CalledPostStartSession(VisitorA, x));
            }
        }
Пример #9
0
        public void WhenStartingSessionTwice_ThenSessionOnlyStartedOnce()
        {
            using (var pipeline = PipelineConfig.CreatePipeline())
            {
                pipeline.StartSession();
                pipeline.StartSession();

                Assert.True(pipeline.SessionStarted);

                Assert.Equal(4, HistoryOfVisits.Count);
                Assert.Collection(HistoryOfVisits,
                                  x => AssertForVisitor.CalledStartSession(VisitorA, x),
                                  x => AssertForVisitor.CalledStartSession(VisitorB, x),
                                  x => AssertForVisitor.CalledPostStartSession(VisitorB, x),
                                  x => AssertForVisitor.CalledPostStartSession(VisitorA, x));
            }

            Assert.Equal(8, HistoryOfVisits.Count); // and it has been aborted
        }