Exemple #1
0
        public void MultipleMoveRoverTest()
        {
            var grid   = new Grid(new Vector(5, 5));
            var rover  = new Rover(new Vector(2, 2), new Vector(1, 0), "MMLM");
            var rover2 = new Rover(new Vector(0, 0), new Vector(-1, 0), "LLM");

            grid.AddRover(rover);
            grid.AddRover(rover2);
            grid.MoveRovers();
            Assert.AreEqual(rover.Position.ToString(), (new Vector(4, 3)).ToString());
            Assert.AreEqual(rover2.Position.ToString(), (new Vector(1, 0)).ToString());
        }
Exemple #2
0
        public void MoveRoverTestCollision()
        {
            var grid   = new Grid(new Vector(5, 5));
            var rover  = new Rover(new Vector(2, 2), new Vector(1, 0), "MMM");
            var rover2 = new Rover(new Vector(4, 2), new Vector(-1, 0), "LL");

            grid.AddRover(rover);
            grid.AddRover(rover2);
            grid.MoveRovers();
            Assert.AreEqual(rover.Position.ToString(), (new Vector(3, 2)).ToString());
            Assert.AreEqual(rover2.Position.ToString(), (new Vector(4, 2)).ToString());
        }
Exemple #3
0
        public void AddRoverPositionTaken()
        {
            var grid   = new Grid(new Vector(5, 5));
            var rover  = new Rover(new Vector(2, 2), new Vector(1, 0), "LLM");
            var rover2 = new Rover(new Vector(2, 2), new Vector(1, 0), "LLM");

            Assert.IsTrue(grid.AddRover(rover));
            var gridString = grid.DebugString();

            Assert.IsFalse(grid.AddRover(rover2));
            Assert.AreEqual(gridString, grid.DebugString());
        }
Exemple #4
0
        public void TestUnmovingRover()
        {
            var grid   = new Grid(new Vector(5, 5));
            var rover  = new Rover(new Vector(2, 2), new Vector(1, 0), "");
            var rover2 = new Rover(new Vector(3, 1), new Vector(0, 1), "LMR");

            grid.AddRover(rover);
            grid.AddRover(rover2);
            grid.MoveRovers();


            var controller = new RoverController();
            var result     = controller.Debug("5 5\n2 2 E\n\n3 1 N\nLMR");

            Assert.AreEqual(grid.DebugString(), result);
        }
Exemple #5
0
        public void AddRoversucces()
        {
            var grid  = new Grid(new Vector(5, 5));
            var rover = new Rover(new Vector(2, 2), new Vector(1, 0), "LLM");

            Assert.IsTrue(grid.AddRover(rover));
        }
Exemple #6
0
        public void MoveRoverTestoutOfBound()
        {
            var grid  = new Grid(new Vector(5, 5));
            var rover = new Rover(new Vector(2, 2), new Vector(1, 0), "MMMMMMMMMM");

            grid.AddRover(rover);
            grid.MoveRovers();
            Assert.AreEqual(rover.Position.ToString(), (new Vector(4, 2)).ToString());
        }
Exemple #7
0
        public void AddRoverOutOfBounds()
        {
            var grid       = new Grid(new Vector(5, 5));
            var rover      = new Rover(new Vector(8, 2), new Vector(1, 0), "LLM");
            var gridString = grid.DebugString();

            Assert.IsFalse(grid.AddRover(rover));
            Assert.AreEqual(gridString, grid.DebugString());
        }
Exemple #8
0
        public void ParseRoverTest()
        {
            var grid  = new Grid(new Vector(6, 7));
            var rover = new Rover(new Vector(2, 2), new Vector(1, 0), "MLR");

            grid.AddRover(rover);
            var grid2 = new Grid(new Vector(6, 7));

            Assert.IsTrue(Parser.ParseRover("2 2 E", "MLR", grid2));
            Assert.AreEqual(grid2.DebugString(), grid.DebugString());
        }