public static void Run() { Console.WriteLine($"{Environment.NewLine}*** CHAIN OF RESPONSIBILITY PATTERN ***{Environment.NewLine}"); // Create the links in the chain BikeShop mountainBikes = new MountainBikeShop("Tom's Mountain Bikes"); BikeShop roadBikes = new RoadBikeShop("Dick's road bikes"); BikeShop hybridBikes = new HybridBikeShop("Harry's hybrid bikes"); // set up the chain mountainBikes.Successor = roadBikes; roadBikes.Successor = hybridBikes; List <BikeType> orders = new List <BikeType> { BikeType.Hybrid, BikeType.Mountain, BikeType.Road, BikeType.Hybrid, BikeType.Road, BikeType.Mountain }; // Process the order requests foreach (BikeType order in orders) { mountainBikes.FillOrder(order); } }
public void MountainBikeShop_OrderBike_ReturnsInstanceOfHybridBike() { // Arrange IBikeShop shop = new HybridBikeShop(); // Act IBike bike = shop.OrderBike("test"); // Assert Assert.IsInstanceOfType(bike, typeof(HybridBike)); }
public static void Run() { Console.WriteLine($"{Environment.NewLine}*** ABSTRACT FACTORY PATTERN ***{Environment.NewLine}"); IBikeShop mShop = new MountainBikeShop(); IBikeShop rShop = new RoadBikeShop(); IBikeShop hShop = new HybridBikeShop(); mShop.OrderBike("Muddy"); rShop.OrderBike("Missile"); hShop.OrderBike("Cruser"); }