コード例 #1
0
        static void Main(string[] args)
        {
            VehicleParking car            = new CarParking("CAR1234", DateTime.Now);
            VehicleParking truck          = new TruckParking("TRK1234", DateTime.Now);
            VehicleParking carAfterOneDay = new CarAfterOneDayParking("AFT1234", DateTime.Now);
            VehicleParking special        = new SpecialCalculationAskedByClientParking("SPE1234", DateTime.Now);

            Console.WriteLine($"{car.CarPlate}: {car.CalculatePrice()}");
            Console.WriteLine($"{truck.CarPlate}: {truck.CalculatePrice()}");
            Console.WriteLine($"{carAfterOneDay.CarPlate}: {carAfterOneDay.CalculatePrice()}");
            Console.WriteLine($"{special.CarPlate}: {special.CalculatePrice()}");
        }
        public static void AssertCarParking(CarParking source,
                                            CarParking destination)
        {
            if (source == null &&
                destination == null)
            {
                return;
            }

            source.Garages.ShouldBe(destination.Garages);
            source.Carports.ShouldBe(destination.Carports);
            source.OpenSpaces.ShouldBe(destination.OpenSpaces);
        }
        public void GivenTheSumOfAllThreeCarparkingValuesWhichIsLessThan255_Validate_ShouldNotHaveAnError()
        {
            // Arrange.
            var carParking = new CarParking
            {
                Carports   = 1,
                Garages    = 2,
                OpenSpaces = 3
            };

            // Act.
            var result = _carParkingValidator.Validate(carParking);

            // Assert.
            result.IsValid.ShouldBe(true);
        }
        public void GivenTheSumOfAllThreeCarparkingValuesWhichIsGreaterThan255_Validate_ShouldNotHaveAnError()
        {
            // Arrange.
            var carParking = new CarParking
            {
                Carports   = 100,
                Garages    = 100,
                OpenSpaces = 100
            };

            // Act.
            var result = _carParkingValidator.Validate(carParking);

            // Assert.
            result.IsValid.ShouldBe(false);
            result.Errors.Count.ShouldBe(1);
            result.Errors[0].ErrorMessage.ShouldBe("The sum of Garages, Carports and Openspaces must not exceed 255. It is currently set at: 300.");
        }