Exemple #1
0
        public void WhenRoverPicksComponentsShouldReturnTrue()
        {
            Grid.GridBuilder builder = Grid.Builder();
            Grid             grid    = builder.WithSize(2)
                                       .WithComponentCount(2)
                                       .AddComponent(new Component(new Coordinate(1, 1)))
                                       .AddComponent(new Component(new Coordinate(0, 0)))
                                       .WithRover(new Rover(new Coordinate(1, 0)))
                                       .Build();

            IPickUpEngine pickUpEngine = new PickUpEngine();
            bool          result       = pickUpEngine.PickUpComponents(grid);

            result.Should().Equals(true);
        }
Exemple #2
0
        public void WhenAValidGridIsInitializedThenRoverShouldPickAllComponentsInCorrectOrder()
        {
            Grid.GridBuilder builder = Grid.Builder();
            Grid             grid    = builder.WithSize(2)
                                       .WithComponentCount(2)
                                       .AddComponent(new Component(new Coordinate(1, 1)))
                                       .AddComponent(new Component(new Coordinate(0, 0)))
                                       .WithRover(new Rover(new Coordinate(1, 0)))
                                       .Build();

            IPickUpEngine pickUpEngine = new PickUpEngine();

            pickUpEngine.PickUpComponents(grid);
            // grid.StartRover();
            for (int i = 0; i < grid.ComponentList.Count; i++)
            {
                grid.ComponentList[i].Coordinate.Should().Equals(grid.Rover.PickupCoordinates[i]);
            }
        }
Exemple #3
0
        public void WhenRoverPicksMultipleComponentsPathShouldBeCorrect()
        {
            Grid.GridBuilder builder = Grid.Builder();
            Grid             grid    = builder.WithSize(8)
                                       .WithComponentCount(5)
                                       .AddComponent(new Component(new Coordinate(5, 4)))
                                       .AddComponent(new Component(new Coordinate(6, 6)))
                                       .AddComponent(new Component(new Coordinate(1, 0)))
                                       .AddComponent(new Component(new Coordinate(0, 5)))
                                       .AddComponent(new Component(new Coordinate(5, 1)))
                                       .WithRover(new Rover(new Coordinate(4, 6)))
                                       .Build();

            IPickUpEngine pickUpEngine = new PickUpEngine();

            pickUpEngine.PickUpComponents(grid);
            // grid.StartRover();
            grid.Rover.GetPath().Should().Equals("ESSPENNPWSWSWSWSWSPWNNNNNPESESESESEP");
        }