コード例 #1
0
 public void ConstructorWithNullListenerShouldThrowException()
 {
     Assert.ThrowsException <ArgumentNullException>(() =>
     {
         var dispatcher = new LocalCommandSetDispatcher(new MockRoverGuidance(), null);
     });
 }
コード例 #2
0
        public void DispatchWithValidCommandSetShouldTransmitCorrectData()
        {
            var establishGrid   = new EstablishGridCommand("5 5");
            var confirmPosition = new ConfirmPositionCommand("1 2 N");
            var move            = new MoveCommand("LMRM");

            var commandSet = new CommandSet(establishGrid, confirmPosition, move);

            var guidance = new MockRoverGuidance(cs =>
            {
                Assert.IsNotNull(commandSet);
                Assert.AreEqual(establishGrid.Instructions, commandSet.EstablishGrid.Instructions);
                Assert.AreEqual(establishGrid.Grid.Width, commandSet.EstablishGrid.Grid.Width);
                Assert.AreEqual(establishGrid.Grid.Height, commandSet.EstablishGrid.Grid.Height);
                Assert.AreEqual(confirmPosition.Instructions, commandSet.ConfirmPosition.Instructions);
                Assert.AreEqual(confirmPosition.Coordinates.X, commandSet.ConfirmPosition.Coordinates.X);
                Assert.AreEqual(confirmPosition.Coordinates.Y, commandSet.ConfirmPosition.Coordinates.Y);
                Assert.AreEqual(confirmPosition.Heading, commandSet.ConfirmPosition.Heading);
                Assert.AreEqual(move.Instructions, commandSet.Move.Instructions);
                Assert.AreEqual(move.Moves.Count, commandSet.Move.Moves.Count);
                Assert.AreEqual(move.Moves[0], commandSet.Move.Moves[0]);
                Assert.AreEqual(move.Moves[1], commandSet.Move.Moves[1]);
                Assert.AreEqual(move.Moves[2], commandSet.Move.Moves[2]);
                Assert.AreEqual(move.Moves[3], commandSet.Move.Moves[3]);
            }, p => new Point(2, 1), h => Heading.North);

            var listener = new MockCommandSetListener(m =>
            {
                Assert.AreEqual("2 1 N", m);
            });

            var dispatcher = new LocalCommandSetDispatcher(guidance, listener);

            dispatcher.Dispatch(commandSet);
        }
コード例 #3
0
        public void DispatchWithNullCommandSetShouldThrowException()
        {
            var dispatcher = new LocalCommandSetDispatcher(new MockRoverGuidance(), new MockCommandSetListener());

            Assert.ThrowsException <ArgumentNullException>(() =>
            {
                dispatcher.Dispatch(null);
            });
        }