private Rover GenerateRover(int positionX, int positionY, FacingTypes facingTo) { var roverInitialState = new RoverState(positionX, positionY, facingTo); var roverContext = new RoverContext(roverInitialState); return(new Rover(roverContext)); }
static void InitializeRoverToDB(RoverData rover) { using (var context = new RoverContext()) { rover = new RoverData() { Routes = new List <Route>() { new Route() { Time = new DateTime(), Coordinates = new List <Coordinates>() { new Coordinates() { } } } } }; context.Rovers.Add(rover); context.SaveChanges(); } }
public RoverController(RoverData rover, IRoverMovementStrategy roverMovementStrategy, RoverContext context) { this._rover = rover; this._roverMovementStrategy = roverMovementStrategy; this._context = context; }
public void ActionIsMove_And_SurfaceIsNotBigEnough__VehiclePositionShouldChange() { const int x = 0; const int y = 0; const CompassDirections direction = CompassDirections.N; var rover = new Rover(x, y, direction); var sut = new RoverContext(_surfaceMock.Object, rover); _surfaceMock.Setup(surface => surface.Contains(It.IsAny <Point>())) .Returns(false); Assert.Throws <VehicleConnectionLostException>(() => sut.Move(VehicleActions.M)); }
public void ActionIsMove_And_SurfaceIsBigEnough__VehiclePositionShouldChange() { const int x = 0; const int y = 0; const CompassDirections direction = CompassDirections.N; var rover = new Rover(x, y, direction); var sut = new RoverContext(_surfaceMock.Object, rover); sut.Move(VehicleActions.M); Assert.Equal(x, sut.Vehicle.CurrentPoint.X); Assert.Equal(y + 1, sut.Vehicle.CurrentPoint.Y); Assert.Equal(direction, sut.Vehicle.Facade); }
public void ActionIsTurn__VehicleTurnMethodWillBeInvoked(VehicleActions vehicleAction, CompassDirections expectedDirection) { const int x = 0; const int y = 0; const CompassDirections direction = CompassDirections.N; var rover = new Rover(x, y, direction); var sut = new RoverContext(_surfaceMock.Object, rover); sut.Move(vehicleAction); Assert.Equal(x, sut.Vehicle.CurrentPoint.X); Assert.Equal(y, sut.Vehicle.CurrentPoint.Y); Assert.Equal(expectedDirection, sut.Vehicle.Facade); }
public IVehicleContext Generate(Surface surface, Vehicle vehicle) { surface = surface ?? throw new DevelopmentException($"{nameof(surface)} should not be null"); vehicle = vehicle ?? throw new DevelopmentException($"{nameof(vehicle)} should not be null"); IVehicleContext vehicleContext; if (vehicle is Rover) { vehicleContext = new RoverContext(surface, vehicle); } else { throw new DevelopmentException($"There is no predefined VehicleContext for Vehicle [{vehicle.GetType().Name}]"); } return(vehicleContext); }
public IVehicleContext Generate(Surface surface, Vehicle vehicle) { surface = surface ?? throw new Exception($"{nameof(surface)} should not be null"); vehicle = vehicle ?? throw new Exception($"{nameof(vehicle)} should not be null"); IVehicleContext vehicleContext; if (vehicle is Rover) { vehicleContext = new RoverContext(vehicle, surface); } else { throw new Exception($"Vehicle is not defined [{vehicle.GetType().Name}]"); } return(vehicleContext); }
public RoverRepository(RoverContext context) { _context = context; }
public PlateauRepository(RoverContext context) { _context = context; }