Ejemplo n.º 1
0
        public void RoverMovementTest()
        {
            #region Plateau List
            var map = new List <List <Coordinates> > {
                new List <Coordinates> {
                    new Coordinates {
                        X = 0, Y = 0
                    },
                    new Coordinates {
                        X = 0, Y = 1
                    },
                    new Coordinates {
                        X = 0, Y = 2
                    },
                    new Coordinates {
                        X = 0, Y = 3
                    },
                    new Coordinates {
                        X = 0, Y = 4
                    },
                    new Coordinates {
                        X = 0, Y = 5
                    }
                },
                new List <Coordinates> {
                    new Coordinates {
                        X = 1, Y = 0
                    },
                    new Coordinates {
                        X = 1, Y = 1
                    },
                    new Coordinates {
                        X = 1, Y = 2
                    },
                    new Coordinates {
                        X = 1, Y = 3
                    },
                    new Coordinates {
                        X = 1, Y = 4
                    },
                    new Coordinates {
                        X = 1, Y = 5
                    }
                },
                new List <Coordinates> {
                    new Coordinates {
                        X = 2, Y = 0
                    },
                    new Coordinates {
                        X = 2, Y = 1
                    },
                    new Coordinates {
                        X = 2, Y = 2
                    },
                    new Coordinates {
                        X = 2, Y = 3
                    },
                    new Coordinates {
                        X = 2, Y = 4
                    },
                    new Coordinates {
                        X = 2, Y = 5
                    }
                },
                new List <Coordinates> {
                    new Coordinates {
                        X = 3, Y = 0
                    },
                    new Coordinates {
                        X = 3, Y = 1
                    },
                    new Coordinates {
                        X = 3, Y = 2
                    },
                    new Coordinates {
                        X = 3, Y = 3
                    },
                    new Coordinates {
                        X = 3, Y = 4
                    },
                    new Coordinates {
                        X = 3, Y = 5
                    }
                },
                new List <Coordinates> {
                    new Coordinates {
                        X = 4, Y = 0
                    },
                    new Coordinates {
                        X = 4, Y = 1
                    },
                    new Coordinates {
                        X = 4, Y = 2
                    },
                    new Coordinates {
                        X = 4, Y = 3
                    },
                    new Coordinates {
                        X = 4, Y = 4
                    },
                    new Coordinates {
                        X = 4, Y = 5
                    }
                },
                new List <Coordinates> {
                    new Coordinates {
                        X = 5, Y = 0
                    },
                    new Coordinates {
                        X = 5, Y = 1
                    },
                    new Coordinates {
                        X = 5, Y = 2
                    },
                    new Coordinates {
                        X = 5, Y = 3
                    },
                    new Coordinates {
                        X = 5, Y = 4
                    },
                    new Coordinates {
                        X = 5, Y = 5
                    }
                },
            };
            #endregion
            var rover1           = new Rover();
            var roverStrategy1   = new RoverMovementStrategy(rover1);
            var roverController1 = new RoverController(rover1, roverStrategy1, map);

            rover1.Position = new Coordinates {
                X = map.ElementAt(1).ElementAt(2).X, Y = map.ElementAt(1).ElementAt(2).Y
            };

            rover1.Orientation = Orientation.E;

            var roverCommands1 = "M";
            roverController1.Move(roverCommands1);

            Assert.Equal(2, rover1.Position.X);
            Assert.Equal(2, rover1.Position.Y);

            var roverCommands2 = "MMMM";
            roverController1.Move(roverCommands2);
            Assert.Equal(5, rover1.Position.X);
            Assert.Equal(2, rover1.Position.Y);

            //Arrange
            //Act
            //Assert
        }
Ejemplo n.º 2
0
        public void RoverMoveOutOfPlateauSouth()
        {
            #region Plateau List
            var map = new List <List <Coordinates> > {
                new List <Coordinates> {
                    new Coordinates {
                        X = 0, Y = 0
                    },
                    new Coordinates {
                        X = 0, Y = 1
                    },
                    new Coordinates {
                        X = 0, Y = 2
                    },
                    new Coordinates {
                        X = 0, Y = 3
                    },
                    new Coordinates {
                        X = 0, Y = 4
                    },
                    new Coordinates {
                        X = 0, Y = 5
                    }
                },
                new List <Coordinates> {
                    new Coordinates {
                        X = 1, Y = 0
                    },
                    new Coordinates {
                        X = 1, Y = 1
                    },
                    new Coordinates {
                        X = 1, Y = 2
                    },
                    new Coordinates {
                        X = 1, Y = 3
                    },
                    new Coordinates {
                        X = 1, Y = 4
                    },
                    new Coordinates {
                        X = 1, Y = 5
                    }
                },
                new List <Coordinates> {
                    new Coordinates {
                        X = 2, Y = 0
                    },
                    new Coordinates {
                        X = 2, Y = 1
                    },
                    new Coordinates {
                        X = 2, Y = 2
                    },
                    new Coordinates {
                        X = 2, Y = 3
                    },
                    new Coordinates {
                        X = 2, Y = 4
                    },
                    new Coordinates {
                        X = 2, Y = 5
                    }
                },
                new List <Coordinates> {
                    new Coordinates {
                        X = 3, Y = 0
                    },
                    new Coordinates {
                        X = 3, Y = 1
                    },
                    new Coordinates {
                        X = 3, Y = 2
                    },
                    new Coordinates {
                        X = 3, Y = 3
                    },
                    new Coordinates {
                        X = 3, Y = 4
                    },
                    new Coordinates {
                        X = 3, Y = 5
                    }
                },
                new List <Coordinates> {
                    new Coordinates {
                        X = 4, Y = 0
                    },
                    new Coordinates {
                        X = 4, Y = 1
                    },
                    new Coordinates {
                        X = 4, Y = 2
                    },
                    new Coordinates {
                        X = 4, Y = 3
                    },
                    new Coordinates {
                        X = 4, Y = 4
                    },
                    new Coordinates {
                        X = 4, Y = 5
                    }
                },
                new List <Coordinates> {
                    new Coordinates {
                        X = 5, Y = 0
                    },
                    new Coordinates {
                        X = 5, Y = 1
                    },
                    new Coordinates {
                        X = 5, Y = 2
                    },
                    new Coordinates {
                        X = 5, Y = 3
                    },
                    new Coordinates {
                        X = 5, Y = 4
                    },
                    new Coordinates {
                        X = 5, Y = 5
                    }
                },
            };
            #endregion
            var rover1           = new Rover();
            var roverStrategy1   = new RoverMovementStrategy(rover1);
            var roverController1 = new RoverController(rover1, roverStrategy1, map);

            rover1.Position = new Coordinates {
                X = map.ElementAt(1).ElementAt(2).X, Y = map.ElementAt(1).ElementAt(2).Y
            };
            rover1.Orientation = Orientation.S;

            var rover1Commands = "MMMM";
            roverController1.Move(rover1Commands);

            Assert.Equal(1, rover1.Position.X);
            Assert.Equal(0, rover1.Position.Y);
        }
Ejemplo n.º 3
0
        static void Main(string[] args)
        {
            #region First Rover details


            var rover1      = new RoverData();
            var coordinates = new Coordinates
            {
                X = 1,
                Y = 1
            };

            var route = new Route
            {
                Time        = DateTime.Now,
                Coordinates = new List <Coordinates>()
                {
                    coordinates
                }
            };


            var roverStrategy1   = new RoverMovementStrategy(rover1, coordinates);
            var roverController1 = new RoverController(rover1, roverStrategy1, null);


            var rover1Commands = "";

            do
            {
                Console.WriteLine("\tW");
                Console.WriteLine("\tA");
                Console.WriteLine("\tS");
                Console.WriteLine("\tD");
                Console.WriteLine();
                Console.Write("Enter command:");
                rover1Commands = Console.ReadLine();
                roverController1.Move(rover1Commands);

                Console.WriteLine($"Rover one ->: ({DateTime.Now}) " +
                                  $"Coordinates are :({coordinates.X},{coordinates.Y})");

                InitializeRoverToDB(rover1);
            } while (rover1Commands.CompareTo("x") < 0);

            // InitializeRoverToDB(rover1);

            #endregion

            /*   roverController1.Move(rover1Commands);
             *
             *
             * Console.WriteLine($"Rover one final position is " +
             *                   $"({rover1.Position.X},{rover1.Position.Y}) " +
             *                   $"and orientation {rover1.Orientation.ToDescription()}");
             #endregion
             * /*
             #region Second Rover details
             * var rover2 = new Rover();
             * var roverStrategy2 = new RoverMovementStrategy(rover1);
             * var roverController2 = new RoverController(rover1, roverStrategy2, map);
             * rover1.Position = new Coordinates { X = map.ElementAt(3).ElementAt(3).X, Y = map.ElementAt(3).ElementAt(3).Y };
             * rover1.Orientation = Orientation.E;
             *
             * var rover2Commands = "MMRMMRMRRM";
             * roverController2.Move(rover2Commands);
             * Console.WriteLine($"Rover two final position is " +
             *                   $"({rover1.Position.X},{rover1.Position.Y}) " +
             *                   $"and orientation {rover1.Orientation.ToDescription()}");
             *
             #endregion
             *
             * Console.WriteLine("\nExploring Mars!");
             * Console.ReadKey();
             * }
             */
            Console.ReadKey();
        }