public void Should_Change_Road_At_Intersection() { // Arrange var road = new Road(); var expected = new Road(); var position = new Position(Math.Floor(road.Length / 2.0), Lane.Left); road.AddIntersection(position, expected); // Act var actual = road.ChangeRoad(new Car(), position); // Assert Assert.Equal(expected, actual); }
public void Should_Change_Road_At_Intersection() { // Arrange var road = new Road(); var intersection = new Road(); var destination = new Position(18, Lane.Left, isIntersection: true); road.AddIntersection(destination, intersection); var car = new Car(road, new Position(11, Lane.Left), destination); car.Accelerate(); var expected = intersection.RoadId.Value; // Act car.Drive(); var actual = car.CurrentRoad.RoadId.Value; // Assert Assert.Equal(expected, actual); }