Ejemplo n.º 1
0
        public void insert_a_new_vehicle_and_update_it()
        {
            IVehicleStorage databaseVehicleStorage =
                new SqlVehicleStorage(this.connectionString, this.vehicleBuilder);

            this.vehicleBuilder.addWheel();
            this.vehicleBuilder.addWheel();
            this.vehicleBuilder.addWheel();
            this.vehicleBuilder.addWheel();

            this.vehicleBuilder.setColor(CarColor.Yellow);
            this.vehicleBuilder.setDoors(5);
            this.vehicleBuilder.setEngine(700);

            IVehicle    vehicle    = this.vehicleBuilder.build();
            IEnrollment enrollment = vehicle.Enrollment;

            foreach (IWheel wheel in vehicle.Wheels)
            {
                wheel.Pressure = 3.0;
            }

            Assert.IsNotNull(vehicle);

            databaseVehicleStorage.set(vehicle);

            Assert.AreEqual(11, databaseVehicleStorage.Count);

            vehicle.Doors[1].open();
            vehicle.Doors[3].open();
            vehicle.Engine.start();
            vehicle.Wheels[3].Pressure = 2.0;

            databaseVehicleStorage.set(vehicle);

            vehicle = databaseVehicleStorage.get(enrollment);

            Assert.IsNotNull(vehicle);

            Assert.IsTrue(vehicle.Doors[1].IsOpen);
            Assert.IsTrue(vehicle.Doors[3].IsOpen);
            Assert.IsTrue(vehicle.Engine.IsStarted);
            Assert.AreEqual(2.0, vehicle.Wheels[3].Pressure);
        }
Ejemplo n.º 2
0
        public void save_vehicle_to_DB_and_retrieve_it()
        {
            IVehicleStorage databaseVehicleStorage = new SqlVehicleStorage(this.connectionString, this.vehicleBuilder);

            databaseVehicleStorage.clear();
            IEnumerable <IVehicle> vehicles = databaseVehicleStorage.get();

            Assert.AreEqual(0, vehicles.Count());

            IVehicle firstVehicle = new Vehicle
            {
                Enrollment = new Enrollment
                {
                    Serial = "AZD",
                    Number = 4444
                },
                Engine = new Engine
                {
                    IsStarted  = true,
                    HorsePower = 1000,
                },
                Color = CarColor.Purple,
                Doors = new Door[] { new Door {
                                         IsOpen = false
                                     }, new Door {
                                         IsOpen = true
                                     } },
                Wheels = new Wheel[] { new Wheel {
                                           Pressure = 2.3
                                       }, new Wheel {
                                           Pressure = 1.2
                                       } },
            };

            databaseVehicleStorage.set(firstVehicle);

            databaseVehicleStorage = new SqlVehicleStorage(this.connectionString, this.vehicleBuilder);
            IVehicle retrievedVehicle = databaseVehicleStorage.get().First();

            Assert.AreEqual(firstVehicle.Enrollment.Serial, retrievedVehicle.Enrollment.Serial);
            Assert.AreEqual(firstVehicle.Enrollment.Number, retrievedVehicle.Enrollment.Number);
            Assert.AreEqual(firstVehicle.Color, retrievedVehicle.Color);
            Assert.AreEqual(firstVehicle.Engine.HorsePower, retrievedVehicle.Engine.HorsePower);
            Assert.AreEqual(firstVehicle.Doors[0].IsOpen, retrievedVehicle.Doors[0].IsOpen);
            Assert.AreEqual(firstVehicle.Doors[1].IsOpen, retrievedVehicle.Doors[1].IsOpen);
            Assert.AreEqual(firstVehicle.Wheels[0].Pressure, retrievedVehicle.Wheels[0].Pressure);
            Assert.AreEqual(firstVehicle.Wheels[1].Pressure, retrievedVehicle.Wheels[1].Pressure);
        }