コード例 #1
0
        static void Main(string[] args)
        {
            Area  area  = null;
            Rover rover = null;

            var missionFactory = new MissionFactory();

            while (true)
            {
                var statement = Console.ReadLine().Trim().ToUpper();

                if (statement == string.Empty)
                {
                    break;
                }

                if (area == null)
                {
                    area = missionFactory.CreateArea(statement);
                }
                else if (rover == null)
                {
                    rover = missionFactory.CreateRover(area, statement);
                }
                else
                {
                    rover.Process(statement);
                    Console.WriteLine(rover);
                    rover = null;
                }
            }
        }
コード例 #2
0
ファイル: DomainTest.cs プロジェクト: tarikkrkmz/MarsRover
        public void RoverMovement_With_Wrong_Result(int areaWidth, int areaHeight, string statement, string thirdLine, string result)
        {
            var area         = new Area(areaWidth, areaHeight);
            var roverFactory = new MissionFactory();

            var rover = roverFactory.CreateRover(area, statement);

            Assert.Throws <OutOfAreaException>(() => rover.Process(thirdLine));
        }
コード例 #3
0
ファイル: DomainTest.cs プロジェクト: tarikkrkmz/MarsRover
        public void RoverMovement(int areaWidth, int areaHeight, string statement, string thirdLine, string result)
        {
            var area         = new Area(areaWidth, areaHeight);
            var roverFactory = new MissionFactory();

            var rover = roverFactory.CreateRover(area, statement);

            rover.Process(thirdLine);

            rover.ToString().Should().Be(result);
        }
コード例 #4
0
        public void RoverCreationFromSyntax(int areaWidth, int areaHeight, string statement, Type T)
        {
            var area         = new Area(areaWidth, areaHeight);
            var roverFactory = new MissionFactory();

            var rover = roverFactory.CreateRover(area, statement);

            rover.Area.Width.Should().Be(areaWidth);
            rover.Area.Height.Should().Be(areaHeight);
            rover.Heading.Should().BeOfType(T);

            rover.ToString().Should().Be(statement);
        }