Пример #1
0
        static void Main(string[] args)
        {
            var n         = int.Parse(Console.ReadLine());
            var originRaw = Console.ReadLine().Split(' ').Select(x => int.Parse(x)).ToList();
            var origin    = new Point(originRaw.First(), originRaw.Last());

            var robot = new SmartRobot(origin);

            for (var i = 0; i < n; i++)
            {
                var moveRaw   = Console.ReadLine().Split(' ').ToList();
                var direction = Enum.Parse <RobotMoveDirection>(moveRaw.First());
                var steps     = int.Parse(moveRaw.Last());

                robot.Move(new RobotMove(direction, steps));
            }

            Console.WriteLine($"=> Cleaned: {robot.CleanedSpaces}");
        }
        public void CrossTest()
        {
            var runs  = 100;
            var moves = 1000;


            for (var t = 0; t < runs; t++)
            {
                var randomizer = new Random();
                var origin     = new Point(randomizer.Next(-1000, 1000), randomizer.Next(-1000, 1000));
                var naiveRobot = new NaiveRobot(origin);
                var smartRobot = new SmartRobot(origin);

                for (var i = 0; i < moves; i++)
                {
                    var move = GetRandomMove(randomizer);

                    naiveRobot.Move(move);
                    smartRobot.Move(move);

                    Assert.Equal(naiveRobot.CleanedSpaces, smartRobot.CleanedSpaces);
                }
            }
        }