Exemplo n.º 1
0
        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);
        }
Exemplo n.º 2
0
        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);
        }