Example #1
0
 private static void AddPoint(List <PositionResource> uniquePoints, PositionResource point)
 {
     if (point != null && uniquePoints.Count(r => r.Y == point.Y && r.X == point.X) == 0)
     {
         uniquePoints.Add(point);
     }
 }
Example #2
0
        public int GetCleanPoints(MovementResource movement)
        {
            var uniquePoints = new List <PositionResource>();
            var commands     = mapper.Map <MovementResource, IEnumerable <ICommand> >(movement);
            var lastPosition = new PositionResource();

            foreach (var _command in commands)
            {
                var newPosition = _command.GetNewPoint(lastPosition.X, lastPosition.Y);

                lastPosition = newPosition ?? lastPosition;

                AddPoint(uniquePoints, newPosition);
            }
            return(uniquePoints.Count);
        }
        public async void Post_ShouldReturn_BadRequest_For_Invalid_Start(int x, int y)
        {
            var commands = new List <CommandResource>
            {
                new CommandResource()
                {
                    Direction = "west", Steps = 1
                }
            };
            var position = new PositionResource(x, y);
            var query    = new MovementResource {
                Commands = commands, Start = position
            };

            var result = await controller.Post(query);

            Assert.IsType <BadRequestResult>(result);
        }