示例#1
0
        public void cannot_set_15_doors()
        {
            IEnrollmentProvider enrollmentProvider = new DefaultEnrollmentProvider();
            IVehicleBuilder     builder            = new VehicleBuilder(enrollmentProvider);

            Negassert.mustFail(() => builder.setDoors(15));
        }
示例#2
0
        private static void buildMassiveVehicles(int numberOfVehicles, TimeSpan maxTime)
        {
            IEnrollmentProvider enrollmentProvider       = new DefaultEnrollmentProvider();
            IVehicleBuilder     builder                  = new VehicleBuilder(enrollmentProvider);
            IDictionary <IEnrollment, IVehicle> vehicles = new Dictionary <IEnrollment, IVehicle>();

            builder.addWheel();
            builder.addWheel();
            builder.addWheel();
            builder.addWheel();

            builder.setDoors(2);
            builder.setEngine(100);
            builder.setColor(CarColor.Red);

            Stopwatch stopwatch = Stopwatch.StartNew();

            for (int i = 0; i < numberOfVehicles; i++)
            {
                IVehicle vehicle = builder.build();

                Assert.IsFalse(vehicles.ContainsKey(vehicle.Enrollment));
                vehicles.Add(vehicle.Enrollment, vehicle);

                Assert.IsTrue(stopwatch.Elapsed < maxTime);
            }
        }
示例#3
0
        public void engine_horse_power_can_not_be_negative()
        {
            IEnrollmentProvider enrollmentProvider = new DefaultEnrollmentProvider();
            IVehicleBuilder     builder            = new VehicleBuilder(enrollmentProvider);

            Negassert.mustFail(() => builder.setEngine(-70));
        }
示例#4
0
        public void cannot_create_vehicle_without_wheels()
        {
            IEnrollmentProvider enrollmentProvider = new DefaultEnrollmentProvider();
            IVehicleBuilder     builder            = new VehicleBuilder(enrollmentProvider);

            Negassert.mustFail(() =>
            {
                IVehicle vehicle = builder.build();
            });
        }
示例#5
0
        static void Main()
        {
            string connectionString = ConfigurationManager.AppSettings["CarManagerConnectionString"];
            IEnrollmentProvider enrollmentProvider = new DefaultEnrollmentProvider();
            IVehicleBuilder     vehicleBuilder     = new VehicleBuilder(enrollmentProvider);
            IVehicleStorage     vehicleStorage     = new SqlVehicleStorage(connectionString, vehicleBuilder);

            Application.EnableVisualStyles();
            Application.SetCompatibleTextRenderingDefault(false);
            Application.Run(new MainForm(vehicleStorage, enrollmentProvider));
        }
示例#6
0
        public void cannot_remove_wheel_if_there_are_not_wheels()
        {
            IEnrollmentProvider enrollmentProvider = new DefaultEnrollmentProvider();
            IVehicleBuilder     builder            = new VehicleBuilder(enrollmentProvider);

            builder.addWheel();
            builder.addWheel();
            builder.removeWheel();
            builder.removeWheel();

            Negassert.mustFail(() => builder.removeWheel());
        }
示例#7
0
        public void enrollments_must_complaint_requested_format()
        {
            IEnrollmentProvider enrollmentProvider = new DefaultEnrollmentProvider();
            IEnrollment         enrollment         = enrollmentProvider.getNew();

            Regex fullRegex = new Regex("[BCDFGHJKLMNPRSTVWXYZ]{3}-[0-9]{4}");

            Assert.IsTrue(fullRegex.IsMatch(enrollment.ToString()));

            Regex serialRegex = new Regex("[BCDFGHJKLMNPRSTVWXYZ]{3}");

            Assert.IsTrue(serialRegex.IsMatch(enrollment.Serial));

            Assert.IsTrue(0 <= enrollment.Number && enrollment.Number <= 9999);
        }
示例#8
0
        public void wheel_pressure_can_not_be_negative()
        {
            IEnrollmentProvider enrollmentProvider = new DefaultEnrollmentProvider();
            IVehicleBuilder     builder            = new VehicleBuilder(enrollmentProvider);

            builder.setColor(CarColor.Black);
            builder.setDoors(4);
            builder.setEngine(60);
            builder.addWheel();
            builder.addWheel();

            IVehicle vehicle = builder.build();

            Negassert.mustFail(() => vehicle.setWheelsPressure(-50));
        }
示例#9
0
        public void doors_must_be_between_0_and_6()
        {
            IEnrollmentProvider enrollmentProvider = new DefaultEnrollmentProvider();
            IVehicleBuilder     builder            = new VehicleBuilder(enrollmentProvider);

            for (int i = 0; i < MEDIUM; i++)
            {
                int doorsCount = this.random.Next(7, int.MaxValue);
                Negassert.mustFail(() => builder.setDoors(doorsCount));
            }

            for (int i = 0; i < MEDIUM; i++)
            {
                int doorsCount = this.random.Next(int.MinValue, 0);
                Negassert.mustFail(() => builder.setDoors(doorsCount));
            }
        }
示例#10
0
        public void Vehicle_entities_shall_not_share_wheels()
        {
            DefaultEnrollmentProvider provider = new DefaultEnrollmentProvider();
            VehicleBuilder            builder  = new VehicleBuilder(provider);

            builder.addWheel();
            builder.setDoors(3);
            builder.setEngine(12);

            IVehicle vehicle0 = builder.build();
            IVehicle vehicle1 = builder.build();

            vehicle0.setWheelsPressure(3.2);
            vehicle1.setWheelsPressure(1.1);

            Assert.IsFalse(vehicle0.Wheels[0].Pressure == vehicle1.Wheels[0].Pressure);
        }
示例#11
0
        public void Pressure_must_not_be_more_than_5()
        {
            IEnrollmentProvider enrollmentProvider = new DefaultEnrollmentProvider();
            IVehicleBuilder     builder            = new VehicleBuilder(enrollmentProvider);

            builder.setColor(CarColor.Black);
            builder.setDoors(4);
            builder.setEngine(60);
            builder.addWheel();
            builder.addWheel();

            IVehicle vehicle = builder.build();

            Negassert.mustFail(() => vehicle.setWheelsPressure(6));
            Negassert.mustFail(() => vehicle.setWheelsPressure(5.01));
            Negassert.mustFail(() => vehicle.setWheelsPressure(100));
            Negassert.mustFail(() => vehicle.setWheelsPressure(120.01));
        }
示例#12
0
        public void Pressure_must_not_be_less_than_1() // Posible conflicto con el test de JVBB
        {
            IEnrollmentProvider enrollmentProvider = new DefaultEnrollmentProvider();
            IVehicleBuilder     builder            = new VehicleBuilder(enrollmentProvider);

            builder.setColor(CarColor.Black);
            builder.setDoors(4);
            builder.setEngine(60);
            builder.addWheel();
            builder.addWheel();

            IVehicle vehicle = builder.build();

            Negassert.mustFail(() => vehicle.setWheelsPressure(0));
            Negassert.mustFail(() => vehicle.setWheelsPressure(0.99));
            Negassert.mustFail(() => vehicle.setWheelsPressure(-1));
            Negassert.mustFail(() => vehicle.setWheelsPressure(-10.5));
        }
示例#13
0
        public void cannot_create_the_same_vechicle_twice()
        {
            IEnrollmentProvider enrollmentProvider = new DefaultEnrollmentProvider();
            IVehicleBuilder     builder            = new VehicleBuilder(enrollmentProvider);

            builder.addWheel();
            builder.addWheel();
            builder.addWheel();
            builder.addWheel();

            builder.setDoors(2);
            builder.setEngine(100);
            builder.setColor(CarColor.Red);

            IVehicle vehicle1 = builder.build();
            IVehicle vehicle2 = builder.build();

            Assert.AreNotEqual(vehicle1.Enrollment, vehicle2.Enrollment);
        }
示例#14
0
        public void enrollment_must_be_always_the_same()
        {
            IEnrollmentProvider enrollmentProvider = new DefaultEnrollmentProvider();
            IVehicleBuilder     builder            = new VehicleBuilder(enrollmentProvider);

            builder.addWheel();
            builder.addWheel();
            builder.addWheel();
            builder.addWheel();

            builder.setDoors(2);
            builder.setEngine(100);
            builder.setColor(CarColor.Red);

            IVehicle    vehicle     = builder.build();
            IEnrollment enrollment1 = vehicle.Enrollment;
            IEnrollment enrollment2 = vehicle.Enrollment;

            Assert.AreEqual(enrollment1, enrollment2);
            Assert.AreEqual(enrollment1.ToString(), enrollment2.ToString());
        }