public void inMemoryVehicleStorage_must_be_empty_on_each_instance() { IVehicle vehicle, motoVehicle; SingleEnrollmentProvider enrollmentProvider = new SingleEnrollmentProvider(); IEqualityComparer <IEnrollment> equalityComparer = new EnrollmentEqualityComparer(); IVehicleBuilder vehicleBuilder = new VehicleBuilder(enrollmentProvider); IVehicleStorage vehicleStorage = new InMemoryVehicleStorage(); vehicleBuilder.addWheel(); vehicleBuilder.addWheel(); vehicleBuilder.setDoors(0); vehicleBuilder.setEngine(40); motoVehicle = vehicleBuilder.build(); Assert.AreEqual(0, vehicleStorage.Count); vehicleStorage.set(motoVehicle); Assert.AreEqual(1, vehicleStorage.Count); vehicle = vehicleStorage.get(enrollmentProvider.DefaultEnrollment); Assert.IsNotNull(vehicle); Assert.IsTrue(equalityComparer.Equals(enrollmentProvider.DefaultEnrollment, vehicle.Enrollment)); vehicleStorage = new InMemoryVehicleStorage(); Assert.AreEqual(0, vehicleStorage.Count); Negassert.mustFail(() => { vehicle = vehicleStorage.get(enrollmentProvider.DefaultEnrollment); }); }
public void WrongBuildRequests_01() { SingleEnrollmentProvider enrollmentProvider = new SingleEnrollmentProvider(); IVehicleBuilder builder = new VehicleBuilder(enrollmentProvider); Negassert.mustFail(() => builder.removeWheel()); builder.addWheel(); builder.addWheel(); builder.addWheel(); builder.addWheel(); Negassert.mustFail(() => builder.setDoors(-27)); builder.setDoors(5); Negassert.mustFail(() => builder.setEngine(-40)); Negassert.mustFail(() => builder.setEngine(0)); builder.setEngine(100); Negassert.mustFail(() => builder.setColor((CarColor)27)); IVehicle vehicle = builder.build(); Negassert.mustFail(() => vehicle.Engine.stop()); vehicle.Engine.start(); Negassert.mustFail(() => vehicle.Engine.start()); Negassert.mustFail(() => vehicle.setWheelsPressure(-1)); Negassert.mustFail(() => vehicle.setWheelsPressure(0)); Negassert.mustFail(() => vehicle.setWheelsPressure(0.99)); Negassert.mustFail(() => vehicle.setWheelsPressure(5.01)); vehicle.setWheelsPressure(2); }
public void builder_default_functionality() { SingleEnrollmentProvider enrollmentProvider = new SingleEnrollmentProvider(); 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(); Assert.IsNotNull(vehicle); Assert.IsNotNull(vehicle.Enrollment); Assert.AreEqual(2, vehicle.Doors.Length); Assert.AreEqual(4, vehicle.Wheels.Length); Assert.AreEqual(enrollmentProvider.DefaultEnrollment, vehicle.Enrollment); // propiedad de solo lectura // propiedad: array Door // campo privado: List Door vehicle.Doors[0].open(); Assert.IsTrue(vehicle.Doors[0].IsOpen); Assert.IsFalse(vehicle.Doors[1].IsOpen); vehicle.Doors[0].close(); Assert.IsFalse(vehicle.Doors[0].IsOpen); vehicle.Engine.start(); Assert.IsTrue(vehicle.Engine.IsStarted); //ha de establecer la presion de cada rueda vehicle.setWheelsPressure(2.4); // propiedad de solo lectura // propiedad: array Wheels // campo privado: List Wheels foreach (IWheel wheel in vehicle.Wheels) { Assert.IsTrue(wheel.Pressure == 2.4); } }
public void cannot_openDoor_twice() { SingleEnrollmentProvider enrollmentProvider = new SingleEnrollmentProvider(); 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(); vehicle.Doors[0].open(); Negassert.mustFail(() => vehicle.Doors[0].open()); }
public void StorageComparison() { IVehicle motoVehicle; SingleEnrollmentProvider enrollmentProvider = new SingleEnrollmentProvider(); IEqualityComparer <IEnrollment> equalityComparer = new EnrollmentEqualityComparer(); IVehicleBuilder vehicleBuilder = new VehicleBuilder(enrollmentProvider); //IDtoConverter dtoConverter = new DefaultDtoConverter(enrollmentProvider); vehicleBuilder.addWheel(); vehicleBuilder.addWheel(); vehicleBuilder.setDoors(0); vehicleBuilder.setEngine(40); motoVehicle = vehicleBuilder.build(); using (IVehicleStorage vehicleMemoryStorage = new InMemoryVehicleStorage()) { using (IVehicleStorage vehicleFileStorage = new FileVehicleStorage(this.VehiclesFilePath, vehicleBuilder)) { vehicleFileStorage.set(motoVehicle); vehicleMemoryStorage.set(motoVehicle); } IVehicle memoryVehicleA = vehicleMemoryStorage.get(enrollmentProvider.DefaultEnrollment); IVehicle fileVehicle; using (IVehicleStorage vehicleFileStorage = new FileVehicleStorage(this.VehiclesFilePath, vehicleBuilder)) { fileVehicle = vehicleFileStorage.get(enrollmentProvider.DefaultEnrollment); Assert.IsNotNull(memoryVehicleA); Assert.IsNotNull(vehicleFileStorage); Assert.IsTrue(SameVehicle(memoryVehicleA, fileVehicle, equalityComparer)); } } }
public void fileVehicleStorage_must_persists_vehicles() { SingleEnrollmentProvider enrollmentProvider = new SingleEnrollmentProvider(); IEqualityComparer <IEnrollment> equalityComparer = new EnrollmentEqualityComparer(); IVehicleBuilder vehicleBuilder = new VehicleBuilder(enrollmentProvider); using (IVehicleStorage vehicleStorage = new FileVehicleStorage(this.VehiclesFilePath, vehicleBuilder)) { vehicleStorage.clear(); Assert.AreEqual(0, vehicleStorage.Count); } vehicleBuilder.addWheel(); vehicleBuilder.addWheel(); vehicleBuilder.setDoors(0); vehicleBuilder.setEngine(40); IVehicle motoVehicle = vehicleBuilder.build(); using (IVehicleStorage vehicleStorage = new FileVehicleStorage(this.VehiclesFilePath, vehicleBuilder)) { vehicleStorage.set(motoVehicle); Assert.AreEqual(1, vehicleStorage.Count); } using (IVehicleStorage vehicleStorage = new FileVehicleStorage(this.VehiclesFilePath, vehicleBuilder)) { Assert.AreEqual(1, vehicleStorage.Count); IVehicle vehicle = vehicleStorage.get(enrollmentProvider.DefaultEnrollment); Assert.IsNotNull(vehicle); Assert.IsTrue(equalityComparer.Equals(enrollmentProvider.DefaultEnrollment, vehicle.Enrollment)); } }