Ejemplo n.º 1
0
        public void DirectRover_RequiresRoverToHaveLanded()
        {
            var manager = new RoverManager();

            manager.DiscoverPlateau(5, 5);

            manager.LandRover(new Rover()
            {
                Id       = 1,
                Position = new Vector()
                {
                    X = 4,
                    Z = 3
                }
            });

            Assert.Throws <InvalidOperationException>(() => manager.DirectRover(2, RoverOperationType.Move));
        }
Ejemplo n.º 2
0
        public void DirectRover_WillNotDriveIntoOtherRovers()
        {
            var manager = new RoverManager();

            manager.DiscoverPlateau(5, 5);

            manager.LandRover(new Rover()
            {
                Id      = 1,
                Heading = new Vector()
                {
                    X = 0,
                    Z = 1
                },
                Position = new Vector()
                {
                    X = 4,
                    Z = 3
                }
            });

            manager.LandRover(new Rover()
            {
                Id      = 2,
                Heading = new Vector()
                {
                    X = 0,
                    Z = 1
                },
                Position = new Vector()
                {
                    X = 4,
                    Z = 4
                }
            });

            Assert.Throws <InvalidOperationException>(() => manager.DirectRover(1, RoverOperationType.Move));
        }