Exemplo n.º 1
0
        private void PlanDelivery(AbstractDeliveryVehicleFactory factory)
        {
            IDeliveryVehicle deliveryBike  = factory.CreateDeliveryBike();
            IDeliveryVehicle deliveryCar   = factory.CreateDeliveryCar();
            IDeliveryVehicle deliveryVan   = factory.CreateDeliveryVan();
            IDeliveryVehicle deliveryTruck = factory.CreateDeliveryTruck();
            IDeliveryVehicle locker        = factory.CreateParcelLocker();

            Fleet fleetOfVehicles = new Fleet();

            fleetOfVehicles.Add(deliveryBike);
            fleetOfVehicles.Add(deliveryCar);
            fleetOfVehicles.Add(deliveryVan);
            fleetOfVehicles.Add(deliveryTruck);
            fleetOfVehicles.Add(locker);

            Console.WriteLine("Deliveries:");

            MakeDelivery(fleetOfVehicles);

            var fleetOfTrucks = new Fleet();

            IDeliveryVehicle truckOne   = factory.CreateDeliveryTruck();
            IDeliveryVehicle truckTwo   = factory.CreateDeliveryTruck();
            IDeliveryVehicle truckThree = factory.CreateDeliveryTruck();

            fleetOfTrucks.Add(truckOne);
            fleetOfTrucks.Add(truckTwo);
            fleetOfTrucks.Add(truckThree);

            Console.WriteLine("\nDeliveries made by the new fleet of trucks:");
            MakeDelivery(fleetOfTrucks);

            Console.WriteLine("\nTotal parcels delivered (including pick-ups): " + DeliveryCounter.NumberOfDeliveries);
        }
Exemplo n.º 2
0
        public void CombinedTest()
        {
            IDeliveryVehicle deliveryBike  = factory.CreateDeliveryBike();
            IDeliveryVehicle deliveryCar   = factory.CreateDeliveryCar();
            IDeliveryVehicle deliveryVan   = factory.CreateDeliveryVan();
            IDeliveryVehicle deliveryTruck = factory.CreateDeliveryTruck();
            IDeliveryVehicle locker        = factory.CreateParcelLocker();

            Fleet fleetOfVehicles = new Fleet();

            fleetOfVehicles.Add(deliveryBike);
            fleetOfVehicles.Add(deliveryCar);
            fleetOfVehicles.Add(deliveryVan);
            fleetOfVehicles.Add(deliveryTruck);
            fleetOfVehicles.Add(locker);

            StringWriter writer = beginReading(); // begin console capture

            MakeDelivery(fleetOfVehicles);
            List <String> consoleEntries = endReading(writer); // end console capture

            var expectedList = new List <string>(new []
            {
                "Bike makes a delivery",
                "Car makes a delivery",
                "Van makes a delivery",
                "Truck makes a delivery",
                "Package is picked up from a parcel locker"
            });

            Assert.AreEqual(consoleEntries.Count, 5, "Delivery count does not match expected deliveries");
            CollectionAssert.AreEqual(consoleEntries, expectedList, "Deliveries don't match expected deliveries");
        }
Exemplo n.º 3
0
        public void FactoryTest()
        {
            IDeliveryVehicle deliveryBike  = factory.CreateDeliveryBike();
            IDeliveryVehicle deliveryCar   = factory.CreateDeliveryCar();
            IDeliveryVehicle deliveryVan   = factory.CreateDeliveryVan();
            IDeliveryVehicle deliveryTruck = factory.CreateDeliveryTruck();

            StringWriter writer = beginReading(); // begin console capture

            MakeDelivery(deliveryBike);
            MakeDelivery(deliveryCar);
            MakeDelivery(deliveryVan);
            MakeDelivery(deliveryTruck);
            List <String> consoleEntries = endReading(writer); // end console capture

            var expectedList = new List <string>(new []
            {
                "Bike makes a delivery",
                "Car makes a delivery",
                "Van makes a delivery",
                "Truck makes a delivery"
            });

            Assert.AreEqual(consoleEntries.Count, 4, "Delivery count does not match expected deliveries");
            CollectionAssert.AreEqual(consoleEntries, expectedList, "Deliveries don't match expected deliveries");
        }
Exemplo n.º 4
0
 private void MakeDelivery(IDeliveryVehicle vehicle)
 {
     vehicle.Deliver();
 }
Exemplo n.º 5
0
 public void Add(IDeliveryVehicle vehicle)
 {
     _vehicles.Add(vehicle);
 }
Exemplo n.º 6
0
 public DeliveryCounter(IDeliveryVehicle vehicle)
 {
     _vehicle = vehicle;
 }