예제 #1
0
 private static void AssertAliceTimelineIsCorrect(CommandResult aliceTimeline)
 {
     aliceTimeline.Messages.Should().HaveCount(3);
     aliceTimeline.Messages.First().Should().Be("Third message (30 seconds ago)");
     aliceTimeline.Messages.Skip(1).Take(1).First().Should().Be("Second message (1 minute ago)");
     aliceTimeline.Messages.Skip(2).Take(1).First().Should().Be("First message (5 minutes ago)");
 }
예제 #2
0
 private static void AssertAliceWallIsCorrect(CommandResult aliceWall)
 {
     aliceWall.Messages.Should().HaveCount(5);
     aliceWall.Messages.First().Should().Be("Bob - Second message (now)");
     aliceWall.Messages.Skip(1).Take(1).First().Should().Be("Alice - Third message (30 seconds ago)");
     aliceWall.Messages.Skip(2).Take(1).First().Should().Be("Alice - Second message (1 minute ago)");
     aliceWall.Messages.Skip(3).Take(1).First().Should().Be("Bob - First message (4 minutes ago)");
     aliceWall.Messages.Skip(4).Take(1).First().Should().Be("Alice - First message (5 minutes ago)");
 }
예제 #3
0
        public CommandResult ExecuteCommand(string commandLine, DateTime postingTime)
        {
            CommandResult commandResult = new CommandResult();

            foreach (CommandDescriptor commandDescriptor in commandDescriptors)
            {
                if (commandDescriptor.CanHandle(commandLine))
                {
                    Command command = commandDescriptor.GetCommand(codurer, commandLine);
                    commandResult = command.Execute(postingTime);
                }
            }

            return commandResult;
        }
예제 #4
0
 private static void AssertBobTimelineIsCorrect(CommandResult bobTimeline)
 {
     bobTimeline.Messages.Should().HaveCount(2);
     bobTimeline.Messages.First().Should().Be("Second message (now)");
     bobTimeline.Messages.Skip(1).Take(1).First().Should().Be("First message (4 minutes ago)");
 }