public void RentCarAtCrossedUsedTime_Exception() { var clientFacade = new ClientFacade("Bob"); var carFacade1 = new CarFacade("Audi"); var carFacade2 = new CarFacade("BMW"); var date1 = new DateTimeOffset(new DateTime(2018, 10, 06)); var date2 = new DateTimeOffset(new DateTime(2018, 11, 06)); var date3 = new DateTimeOffset(new DateTime(2018, 10, 19)); var time1 = new RentTime(date1, date2); var time2 = new RentTime(date1, date3); clientFacade.RentCar(carFacade1, time1); bool hasException = false; try { clientFacade.RentCar(carFacade2, time2); } catch (Exception) { hasException = true; } Assert.IsTrue(hasException); }
public void RentTwoCarsByOnClient_TwoCarsInRentHistory() { var clientFacade = new ClientFacade("Bob"); var carFacade1 = new CarFacade("Audi"); var carFacade2 = new CarFacade("BMW"); var date1 = new DateTimeOffset(new DateTime(2018, 10, 06)); var date2 = new DateTimeOffset(new DateTime(2018, 11, 06)); var date3 = new DateTimeOffset(new DateTime(2018, 11, 10)); var date4 = new DateTimeOffset(new DateTime(2018, 11, 19)); var time1 = new RentTime(date1, date2); var time2 = new RentTime(date3, date4); clientFacade.RentCar(carFacade1, time1); clientFacade.RentCar(carFacade2, time2); var listOfRent = clientFacade.Client.RentHistory.ToList(); Assert.AreEqual(listOfRent[0].Value, carFacade1); Assert.AreEqual(listOfRent[0].Key.StartTime, time1.StartTime); Assert.AreEqual(listOfRent[0].Key.EndTime, time1.EndTime); Assert.AreEqual(listOfRent[1].Value, carFacade2); Assert.AreEqual(listOfRent[1].Key.StartTime, time2.StartTime); Assert.AreEqual(listOfRent[1].Key.EndTime, time2.EndTime); }
public void Create_Returns_CarEngine() { Car car = new Car(); CarFacade carFacade = car.Create(); Assert.AreEqual <string>("CarEngine - SetEngine", carFacade.Engine); }
static void Main(string[] args) { Console.WriteLine("Hello World!"); var facade = new CarFacade(); facade.CreateCompleteCar(); Console.ReadKey(); }
static void Main(string[] args) { CarFacade facade = new CarFacade(); facade.CreateCompleteCar(); Console.ReadKey(); }
private static void Main(string[] args) { Console.WriteLine("Demo Facade Mode"); var car = new CarFacade(); car.Run(); car.Brake(); }
public static void FacadeUsage() { var carFacade = new CarFacade(); var car = carFacade.Build <StripesStrategy>(EngineType.Diesel, Color.Black, 60); var car2 = carFacade.Create(); carFacade.AddWeapon(car, Weapon.Axe); carFacade.AddDefense(car, Defense.Gloves); }
public void AddCar_NewCarInList() { var carRentFacade = new CarRentCompanyFacade(); var carFacade = new CarFacade("Lava Kavina"); carRentFacade.AddCar(carFacade); Assert.AreEqual(carRentFacade.CarRentCompany.CarRepository.GetList().First().Name, carFacade.Car.Name); }
public void IsAtServiceAtFreeTime_False() { var carFacade = new CarFacade("10"); var date1 = new DateTimeOffset(new DateTime(2018, 10, 06)); var date2 = new DateTimeOffset(new DateTime(2018, 11, 06)); var time = new RentTime(date1, date2); var isAtService = carFacade.IsAtServiceAt(time); Assert.IsFalse(isAtService); }
private static void FacadePatternCar() { Model model = new Model("Honda"); Engine engine = new Engine("BIV"); Body body = new Body("IND"); Accessories accessories = new Accessories("Jappan"); CarFacade car = new CarFacade(model, engine, body, accessories); car.MakeCar(); }
public void IsFreeAtFreeTime_True() { var carFacade = new CarFacade("10"); var date1 = new DateTimeOffset(new DateTime(2018, 10, 06)); var date2 = new DateTimeOffset(new DateTime(2018, 11, 06)); var time = new RentTime(date1, date2); var isFreeAt = carFacade.IsFreeAt(time); Assert.IsTrue(isFreeAt); }
public void RemoveCar_LessCarInList() { var carRentFacade = new CarRentCompanyFacade(); var carFacade = new CarFacade("Lava Kavina"); carRentFacade.CarRentCompany.CarRepository.Create(carFacade.Car); carRentFacade.RemoveCar(carFacade); Assert.AreEqual(carRentFacade.CarRentCompany.CarRepository.GetSize(), 0); }
public void CarFacadeReturnsProperCarTest() { var carFacade = new CarFacade(); var car = carFacade.CreateCar(1997, "Audi", 300, 300, Guid.NewGuid(), Color.Pink, EngineType.Diesel); Assert.AreEqual(car.ProductionYear, 1997); Assert.AreEqual(car.Brand, "Audi"); Assert.AreEqual(car.KerbWeight, 300); Assert.AreEqual(car.MaxVelocity, 300); Assert.AreEqual(car.Color, Color.Pink); Assert.AreEqual(car.EngineType, EngineType.Diesel); }
public void IsAtRentAtBusyTime_True() { var carFacade = new CarFacade("10"); var date1 = new DateTimeOffset(new DateTime(2018, 10, 06)); var date2 = new DateTimeOffset(new DateTime(2018, 11, 06)); var time = new RentTime(date1, date2); carFacade.Car.Rents.Add(time); var isAtRent = carFacade.IsAtRentAt(time); Assert.IsTrue(isAtRent); }
public void RentCar_CarInRentHistory() { var clientFacade = new ClientFacade("Bob"); var carFacade = new CarFacade("Audi"); var date1 = new DateTimeOffset(new DateTime(2018, 10, 06)); var date2 = new DateTimeOffset(new DateTime(2018, 11, 06)); var time = new RentTime(date1, date2); clientFacade.RentCar(carFacade, time); Assert.AreEqual(carFacade, clientFacade.Client.RentHistory.First().Value); }
private static void FacadeTest() { Console.WriteLine("---------------------------"); Console.WriteLine("FacadeTest"); var facade = new CarFacade(new Engine(), new Transmission(), new Control()); facade.Start(); facade.MoveToHome(); facade.Stop(); Console.WriteLine("---------------------------"); }
static void Main(string[] args) { Console.WriteLine(); Console.WriteLine("Creating a new AUDI..."); Console.WriteLine(); var facade = new CarFacade(); facade.CreateAudi(); Console.WriteLine(); Console.ReadKey(); }
public void CarFacadeTest() { var carFacade = new CarFacade(); var car = carFacade.Build <StripesStrategy>(EngineType.Diesel, Color.Black, 60); Assert.AreEqual(Color.Black, car.Color); Assert.AreEqual(60, car.MaxSpeed); Assert.AreEqual(EngineType.Diesel, car.EngineType); var car2 = carFacade.Create(); Assert.IsInstanceOfType(car2, typeof(Car)); }
public void RentCar10Times_CarAtService() { var carRentCompanyFacade = new CarRentCompanyFacade(); var carFacade = new CarFacade("10"); var clientFacade = new ClientFacade("Bob"); var date1 = new DateTimeOffset(new DateTime(2018, 10, 06)); var date2 = new DateTimeOffset(new DateTime(2018, 10, 07)); var date3 = new DateTimeOffset(new DateTime(2018, 10, 08)); var date4 = new DateTimeOffset(new DateTime(2018, 10, 09)); var date5 = new DateTimeOffset(new DateTime(2018, 10, 10)); var date6 = new DateTimeOffset(new DateTime(2018, 10, 11)); var date7 = new DateTimeOffset(new DateTime(2018, 10, 12)); var date8 = new DateTimeOffset(new DateTime(2018, 10, 13)); var date9 = new DateTimeOffset(new DateTime(2018, 10, 14)); var date10 = new DateTimeOffset(new DateTime(2018, 10, 15)); var date11 = new DateTimeOffset(new DateTime(2018, 10, 16)); var date12 = new DateTimeOffset(new DateTime(2018, 10, 17)); var date13 = new DateTimeOffset(new DateTime(2018, 10, 18)); var date14 = new DateTimeOffset(new DateTime(2018, 10, 19)); var date15 = new DateTimeOffset(new DateTime(2018, 10, 20)); var date16 = new DateTimeOffset(new DateTime(2018, 10, 21)); var date17 = new DateTimeOffset(new DateTime(2018, 10, 22)); var date18 = new DateTimeOffset(new DateTime(2018, 10, 23)); var date19 = new DateTimeOffset(new DateTime(2018, 10, 24)); var date20 = new DateTimeOffset(new DateTime(2018, 10, 25)); var time1 = new RentTime(date1, date2); var time2 = new RentTime(date3, date4); var time3 = new RentTime(date5, date6); var time4 = new RentTime(date7, date8); var time5 = new RentTime(date9, date10); var time6 = new RentTime(date11, date12); var time7 = new RentTime(date13, date14); var time8 = new RentTime(date15, date16); var time9 = new RentTime(date17, date18); var time10 = new RentTime(date19, date20); carRentCompanyFacade.SendCarOnRent(carFacade, clientFacade.Client, time1); carRentCompanyFacade.SendCarOnRent(carFacade, clientFacade.Client, time2); carRentCompanyFacade.SendCarOnRent(carFacade, clientFacade.Client, time3); carRentCompanyFacade.SendCarOnRent(carFacade, clientFacade.Client, time4); carRentCompanyFacade.SendCarOnRent(carFacade, clientFacade.Client, time5); carRentCompanyFacade.SendCarOnRent(carFacade, clientFacade.Client, time6); carRentCompanyFacade.SendCarOnRent(carFacade, clientFacade.Client, time7); carRentCompanyFacade.SendCarOnRent(carFacade, clientFacade.Client, time8); carRentCompanyFacade.SendCarOnRent(carFacade, clientFacade.Client, time9); carRentCompanyFacade.SendCarOnRent(carFacade, clientFacade.Client, time10); carRentCompanyFacade.SendCarOnService(carFacade, time10.EndTime.AddDays(1)); Assert.AreEqual(carFacade.Car.Services.Count, 1); Assert.AreEqual(carFacade.Car.CountToService, 0); }
public static void Main() { CarFacade facade = new CarFacade(); facade.createAndStoreCar( 13, "Москвич, много запазен", 420000, "Дядо Петър", "БГ1243СТ" ); facade.printCarFromId(13); }
public void IsAtRentAtCrossedTime_True() { var carFacade = new CarFacade("10"); var date1 = new DateTimeOffset(new DateTime(2018, 10, 06)); var date2 = new DateTimeOffset(new DateTime(2018, 11, 06)); var date3 = new DateTimeOffset(new DateTime(2018, 10, 31)); var date4 = new DateTimeOffset(new DateTime(2019, 02, 26)); var time1 = new RentTime(date1, date2); var time2 = new RentTime(date3, date4); carFacade.Car.Rents.Add(time1); var isAtRent = carFacade.IsAtRentAt(time2); Assert.IsTrue(isAtRent); }
public void SendCarOnService_CarOnService() { var carRentFacade = new CarRentCompanyFacade(); var clientFacade = new ClientFacade("Bob"); var carFacade = new CarFacade("Lava Kavina"); var date1 = new DateTimeOffset(new DateTime(2018, 10, 07)); var date2 = new DateTimeOffset(new DateTime(2018, 11, 07)); var time = new RentTime(date1, date2); carRentFacade.CarRentCompany.CarRepository.Create(carFacade.Car); carRentFacade.SendCarOnService(carFacade, time.StartTime); Assert.AreEqual(carRentFacade.CarRentCompany.CarRepository.GetItem(0).IsAtServiceAt(time), true); }
public void GetCarsAt_Cars() { var carRentFacade = new CarRentCompanyFacade(); var carFacade1 = new CarFacade("10"); var carFacade2 = new CarFacade("Lava Kavina"); var date1 = new DateTimeOffset(new DateTime(2018, 10, 07)); var date2 = new DateTimeOffset(new DateTime(2018, 11, 07)); var time = new RentTime(date1, date2); carRentFacade.CarRentCompany.CarRepository.Create(carFacade1.Car); carRentFacade.CarRentCompany.CarRepository.Create(carFacade2.Car); var cars = carRentFacade.GetCarsAt(time); Assert.AreEqual(cars.ToArray()[0].Name, carFacade1.Car.Name); Assert.AreEqual(cars.ToArray()[1].Name, carFacade2.Car.Name); }
public void HasCarAt_False() { var answer = false; var clientFacade = new ClientFacade("Bob"); var carFacade = new CarFacade("Audi"); var date1 = new DateTimeOffset(new DateTime(2018, 10, 06)); var date2 = new DateTimeOffset(new DateTime(2018, 11, 06)); var date3 = new DateTimeOffset(new DateTime(2018, 11, 10)); var date4 = new DateTimeOffset(new DateTime(2022, 01, 13)); var time1 = new RentTime(date1, date2); var time2 = new RentTime(date3, date4); clientFacade.RentCar(carFacade, time1); var hasCar = clientFacade.HasCarAt(time2); Assert.AreEqual(answer, hasCar); }
public void RentLotsOfCars_ClientsWithRentHistory() { var clientFacade1 = new ClientFacade("Bob"); var carFacade1 = new CarFacade("1"); var carFacade2 = new CarFacade("2"); var date1 = new DateTimeOffset(new DateTime(2018, 10, 06)); var date2 = new DateTimeOffset(new DateTime(2018, 10, 10)); var date3 = new DateTimeOffset(new DateTime(2018, 10, 30)); var date4 = new DateTimeOffset(new DateTime(2018, 11, 02)); var date5 = new DateTimeOffset(new DateTime(2018, 12, 01)); var date6 = new DateTimeOffset(new DateTime(2018, 12, 31)); var time1 = new RentTime(date1, date2); var time2 = new RentTime(date3, date4); var time3 = new RentTime(date5, date6); var clientFacade2 = new ClientFacade("Alice"); var carFacade3 = new CarFacade("3"); var carFacade4 = new CarFacade("4"); var carFacade5 = new CarFacade("5"); var carFacade6 = new CarFacade("6"); var date7 = new DateTimeOffset(new DateTime(2018, 10, 15)); var date8 = new DateTimeOffset(new DateTime(2018, 11, 30)); var date9 = new DateTimeOffset(new DateTime(2018, 12, 06)); var date10 = new DateTimeOffset(new DateTime(2018, 12, 27)); var date11 = new DateTimeOffset(new DateTime(2019, 03, 01)); var date12 = new DateTimeOffset(new DateTime(2019, 04, 14)); var date13 = new DateTimeOffset(new DateTime(2019, 11, 10)); var date14 = new DateTimeOffset(new DateTime(2020, 11, 19)); var time4 = new RentTime(date7, date8); var time5 = new RentTime(date9, date10); var time6 = new RentTime(date11, date12); var time7 = new RentTime(date13, date14); clientFacade1.RentCar(carFacade1, time1); clientFacade1.RentCar(carFacade2, time2); clientFacade1.RentCar(carFacade1, time3); clientFacade2.RentCar(carFacade3, time4); clientFacade2.RentCar(carFacade4, time5); clientFacade2.RentCar(carFacade5, time6); clientFacade2.RentCar(carFacade6, time7); Assert.AreEqual(clientFacade1.GetHistory().Count, 3); Assert.AreEqual(clientFacade2.GetHistory().Count, 4); }
public static void Main() { var car = new CarBuilder() .SetProductionYear(1999) .SetBrand("Audi") .SetMaxVelosity(300) .Build(); Boat boat = new Boat(); boat.ChangeMoveStrategy(new DriveStrategy()); IDecorator vehicle = new Car(); vehicle = new MachineGunDecorator(vehicle); System.Console.WriteLine(vehicle.Weapon()); CarFacade car1 = new CarFacade(); car1.CreateCar(1997, "Audi", 3000, 350, Guid.NewGuid(), Color.Black, EngineType.Diesel); System.Console.ReadKey(); }
public void MyTestMethodFacade() { var cf = new CarFacade(); cf.CreateCompleteCar(); }
public static void Facade_Pattern() { var carFacade = new CarFacade(); carFacade.CreateCompleteCar(); }
static void Main(string[] args) { CarFacade facade = new CarFacade(); facade.CreateCompleteCar(); Console.ReadKey(); }
private static void Main(string[] args) { #region AbstactFactoryDesignPattern /* Factory factory = new Factory(); * IVehicleFactory bike = factory.GetVehicle(EVehicleType.Bike); * bike.Drive(); * IVehicleFactory scooter = factory.GetVehicle(EVehicleType.Scooter); * scooter.Drive(); * IVehicleFactory car = factory.GetVehicle(EVehicleType.Car); * car.Drive(); * IVehicleFactory bus = factory.GetVehicle(EVehicleType.Bus); * bus.Drive(); * IVehicleFactory lorry = factory.GetVehicle(EVehicleType.Lorry); * lorry.Drive(); * IVehicleFactory train = factory.GetVehicle(EVehicleType.Train); * train.Drive(); * IVehicleFactory ship = factory.GetVehicle(EVehicleType.Ship); * ship.Drive(); * IVehicleFactory helicopter = factory.GetVehicle(EVehicleType.Helicopter); * helicopter.Drive(); */ #endregion AbstactFactoryDesignPattern #region Adapter ITarget Itarget = new EmployeeAdapter(); ThirdPartyBillingSystem client = new ThirdPartyBillingSystem(Itarget); client.ShowEmployeeList(); #endregion Adapter #region Bridge IMessageSender email = new EmailSender(); IMessageSender queue = new MSMQSender(); IMessageSender web = new WebServiceSender(); Message message = new SystemMessage(); message.Subject = "Test Message"; message.Body = "Hi, This is a Test Message"; message.MessageSender = email; message.Send(); message.MessageSender = queue; message.Send(); message.MessageSender = web; message.Send(); UserMessage usermsg = new UserMessage(); usermsg.Subject = "Test Message"; usermsg.Body = "Hi, This is a Test Message"; usermsg.UserComments = "I hope you are well"; usermsg.MessageSender = email; usermsg.Send(); #endregion Bridge #region Builder var vehicleCreator = new VehicleCreator(new HeroBuilder()); vehicleCreator.CreateVehicle(); var vehicle = vehicleCreator.GetVehicle(); vehicle.ShowInfo(); Console.WriteLine("---------------------------------------------"); vehicleCreator = new VehicleCreator(new HondaBuilder()); vehicleCreator.CreateVehicle(); vehicle = vehicleCreator.GetVehicle(); vehicle.ShowInfo(); #endregion Builder #region ChainOfResponsiblity Approver rohit = new Clerk(); Approver rahul = new AssistantManager(); Approver manoj = new Manager(); rohit.Successor = rahul; rahul.Successor = manoj; // Generate and process loan requests var loan = new Loan { Number = 2034, Amount = 24000.00, Purpose = "Laptop Loan" }; rohit.ProcessRequest(loan); loan = new Loan { Number = 2035, Amount = 42000.10, Purpose = "Bike Loan" }; rohit.ProcessRequest(loan); loan = new Loan { Number = 2036, Amount = 156200.00, Purpose = "House Loan" }; rohit.ProcessRequest(loan); #endregion ChainOfResponsiblity #region Command Console.WriteLine("Enter Commands (ON/OFF) : "); string cmd = Console.ReadLine(); Light lamp = new Light(); ICommand switchUp = new FlipUpCommand(lamp); ICommand switchDown = new FlipDownCommand(lamp); Switch s = new Switch(); if (cmd == "ON") { s.StoreAndExecute(switchUp); } else if (cmd == "OFF") { s.StoreAndExecute(switchDown); } else { Console.WriteLine("Command \"ON\" or \"OFF\" is required."); } #endregion Command #region Composite Employee Rahul = new Employee { EmpID = 1, Name = "Rahul" }; Employee Amit = new Employee { EmpID = 2, Name = "Amit" }; Employee Mohan = new Employee { EmpID = 3, Name = "Mohan" }; Rahul.AddSubordinate(Amit); Rahul.AddSubordinate(Mohan); Employee Rita = new Employee { EmpID = 4, Name = "Rita" }; Employee Hari = new Employee { EmpID = 5, Name = "Hari" }; Amit.AddSubordinate(Rita); Amit.AddSubordinate(Hari); Employee Kamal = new Employee { EmpID = 6, Name = "Kamal" }; Employee Raj = new Employee { EmpID = 7, Name = "Raj" }; Contractor Sam = new Contractor { EmpID = 8, Name = "Sam" }; Contractor tim = new Contractor { EmpID = 9, Name = "Tim" }; Mohan.AddSubordinate(Kamal); Mohan.AddSubordinate(Raj); Mohan.AddSubordinate(Sam); Mohan.AddSubordinate(tim); Console.WriteLine("EmpID={0}, Name={1}", Rahul.EmpID, Rahul.Name); foreach (Employee manager in Rahul) { Console.WriteLine("\n EmpID={0}, Name={1}", manager.EmpID, manager.Name); foreach (var employee in manager) { Console.WriteLine(" \t EmpID={0}, Name={1}", employee.EmpID, employee.Name); } } #endregion Composite #region Decorator HondaCity car = new HondaCity(); Console.WriteLine("Honda City base price are : {0}", car.Price); SpecialOffer offer = new SpecialOffer(car); offer.DiscountPercentage = 25; offer.Offer = "25 % discount"; Console.WriteLine("{1} @ Diwali Special Offer and price are : {0} ", offer.Price, offer.Offer); #endregion Decorator #region Facade CarFacade facade = new CarFacade(); facade.CreateCompleteCar(); #endregion Facade #region Flyweight ShapeObjectFactory sof = new ShapeObjectFactory(); IShape shape = sof.GetShape("Rectangle"); shape.Print(); shape = sof.GetShape("Rectangle"); shape.Print(); shape = sof.GetShape("Rectangle"); shape.Print(); shape = sof.GetShape("Circle"); shape.Print(); shape = sof.GetShape("Circle"); shape.Print(); shape = sof.GetShape("Circle"); shape.Print(); int NumObjs = sof.TotalObjectsCreated; Console.WriteLine("\nTotal No of Objects created = {0}", NumObjs); #endregion Flyweight #region FactoryDesignPattern Factory factory = new Factory(); FactoryDesignPattern.IVehicleFactory bike = factory.GetVehicle(EVehicleType.Bike); bike.Drive(); FactoryDesignPattern.IVehicleFactory scooter = factory.GetVehicle(EVehicleType.Scooter); scooter.Drive(); FactoryDesignPattern.IVehicleFactory fcar = factory.GetVehicle(EVehicleType.Car); fcar.Drive(); FactoryDesignPattern.IVehicleFactory bus = factory.GetVehicle(EVehicleType.Bus); bus.Drive(); FactoryDesignPattern.IVehicleFactory lorry = factory.GetVehicle(EVehicleType.Lorry); lorry.Drive(); FactoryDesignPattern.IVehicleFactory train = factory.GetVehicle(EVehicleType.Train); train.Drive(); FactoryDesignPattern.IVehicleFactory ship = factory.GetVehicle(EVehicleType.Ship); ship.Drive(); FactoryDesignPattern.IVehicleFactory helicopter = factory.GetVehicle(EVehicleType.Helicopter); helicopter.Drive(); #endregion FactoryDesignPattern #region Prototype Developer dev = new Developer(); dev.Name = "Rahul"; dev.Role = "Team Leader"; dev.PreferredLanguage = "C#"; Developer devCopy = (Developer)dev.Clone(); devCopy.Name = "Arif"; //Not mention Role and PreferredLanguage, it will copy above Console.WriteLine(dev.GetDetails()); Console.WriteLine(devCopy.GetDetails()); Typist typist = new Typist(); typist.Name = "Monu"; typist.Role = "Typist"; typist.WordsPerMinute = 120; Typist typistCopy = (Typist)typist.Clone(); typistCopy.Name = "Sahil"; typistCopy.WordsPerMinute = 115;//Not mention Role, it will copy above Console.WriteLine(typist.GetDetails()); Console.WriteLine(typistCopy.GetDetails()); #endregion Prototype #region Proxy ProxyClient proxy = new ProxyClient(); Console.WriteLine("Data from Proxy Client = {0}", proxy.GetData()); #endregion Proxy #region Singleton EagerSingleton.Instance.Show(); LazySingleton.Instance.Show(); Singleton.Instance.Show(); #endregion Singleton Console.ReadKey(); }
public void Run() { CarFacade facade = new CarFacade(); facade.CreateCompleteCar(); }