public void CreateWehicleCheckIsNotNull() { AbstarctFactory abstractFactory = new FactoryFA(PolandFactoryAF.Instance); var car = abstractFactory.CreateCar(); Assert.IsNotNull(car); }
public void CreateWehicleComapreFromTwoFactory() { AbstarctFactory abstractFactoryP = new FactoryFA(PolandFactoryAF.Instance); AbstarctFactory abstractFactoryC = new FactoryFA(ChinaFactoryAF.Instance); var carP = abstractFactoryP.CreateCar(); var carC = abstractFactoryC.CreateCar(); Assert.AreNotEqual(carP.Name, carC.Name); }
static void Main(string[] args) { int n = 10_000_000; double[] times = new double[5]; TimeSpan roznica; DateTime startTime, stopTime; var simpleFactory = WehicleFactory.Instance; Car car; startTime = DateTime.Now; for (int i = 0; i < n; i++) { car = simpleFactory.CreateCar("SmallCar"); } stopTime = DateTime.Now; roznica = stopTime - startTime; times[0] = roznica.TotalMilliseconds; startTime = DateTime.Now; WehicleFactoryFM factoryMethod = PolandFactory.Instance; for (int i = 0; i < n; i++) { car = factoryMethod.MakeCar("SmallCar") as Car; } stopTime = DateTime.Now; roznica = stopTime - startTime; times[1] = roznica.TotalMilliseconds; AbstractFactory.AbstarctFactory abstractFactory = new FactoryFA(PolandFactoryAF.Instance); startTime = DateTime.Now; for (int i = 0; i < n; i++) { car = abstractFactory.CreateCar() as Car; } stopTime = DateTime.Now; roznica = stopTime - startTime; times[2] = roznica.TotalMilliseconds; WehicleFactoryNoReflection wehicleFactoryNoReflection = WehicleFactoryNoReflection.Instance; wehicleFactoryNoReflection.RegisterProduct("SmallCar", typeof(SmallCar)); startTime = DateTime.Now; for (int i = 0; i < n; i++) { car = wehicleFactoryNoReflection.CreateWehicle("SmallCar") as Car; } stopTime = DateTime.Now; roznica = stopTime - startTime; times[3] = roznica.TotalMilliseconds; WehicleFactoryReflection wehicleFactoryReflection = WehicleFactoryReflection.Instance; wehicleFactoryReflection.RegisterProduct(); startTime = DateTime.Now; for (int i = 0; i < n; i++) { car = wehicleFactoryReflection.CreateWehicle("SmallCar") as Car; } stopTime = DateTime.Now; roznica = stopTime - startTime; times[4] = roznica.TotalMilliseconds; Console.WriteLine("SimpleFactory: " + times[0] + " ms"); Console.WriteLine("FactoryMethod: " + times[1] + " ms"); Console.WriteLine("AbstractFactory: " + times[2] + " ms"); Console.WriteLine("NoReflection: " + times[3] + " ms"); Console.WriteLine("Reflection: " + times[4] + " ms"); Console.ReadKey(); }