예제 #1
0
        public void GetSubsequentCommands_ReturnsVerboseCommands()
        {
            var subsequentCommands = DecoratorCommand.GetSubsequentCommands().ToArray();

            Assert.That(subsequentCommands, Is.Not.Empty);
            Assert.That(subsequentCommands, Is.All.TypeOf <VerboseCommandDecorator>());
        }
예제 #2
0
        public void Execute_GivenDecoratedCommandHasNoSummary_DoesNotWriteToTextWriter()
        {
            Given_DecoratedCommandHasNoSummary();

            DecoratorCommand.Execute();

            _mockTextWriter.Verify(tw => tw.WriteLine(It.IsAny <string>()), Times.Never);
        }
예제 #3
0
        public void Execute_GivenDecoratedCommandHasSummary_WritesSummaryToTextWriter()
        {
            Given_DecoratedCommandHasSummary();

            DecoratorCommand.Execute();

            _mockTextWriter.Verify(tw => tw.WriteLine(It.IsAny <string>()));
        }
예제 #4
0
        public void Execute_CreatesNewRewardCommandForEachLapCompleted()
        {
            DecoratorCommand.Execute();

            _mockLapCounter.Verify(l => l.GetLapsCompleted());
            _mockCommandFactory.Verify(
                c => c.CreateFor(It.IsAny <IPlayer>()),
                Times.Exactly((int)_lapsComplete));
        }
예제 #5
0
        public void GetSubsequentCommands_GivenDecoratorCommandExecuted_YieldsRewardCommandAndSubsequentCommandsFromDecoratedCommand()
        {
            DecoratorCommand.Execute();

            var commandsResultingFromExecutionOfRewardDecorator = DecoratorCommand.GetSubsequentCommands();

            Assert.That(
                commandsResultingFromExecutionOfRewardDecorator,
                Is.EqualTo(RewardCommands.Concat(AdditionalCommandsProducedByDecoratedCommand)));
        }
예제 #6
0
        public void Execute_ResetsLapCounter()
        {
            DecoratorCommand.Execute();

            _mockLapCounter.Verify(l => l.Reset());
        }