private void Start() { Engineer engineer = new Engineer(); CarBuilder carBuilder = GetComponent <CarBuilder>(); carBuilder.makeVehicle(); MotorCycleBuilder motorCycleBuilder = GetComponent <MotorCycleBuilder>(); motorCycleBuilder.makeVehicle(); engineer.Construct(carBuilder); engineer.Construct(motorCycleBuilder); Vehicle car = carBuilder.getVehicle(); Debug.Log(car.GetPartsList()); Vehicle motorCycle = motorCycleBuilder.getVehicle(); Debug.Log(motorCycle.GetPartsList()); car.transform.position = new Vector3(-3f, 0, 0); motorCycle.transform.position = new Vector3(3f, 0, 0); }
void Start() { // Instantiate the director and builders ShopForeman shopForeman = new ShopForeman(); CarBuilder carBuilder = new CarBuilder(); MotorCycleBuilder motorCycleBuilder = new MotorCycleBuilder(); ScooterBuilder scooterBuilder = new ScooterBuilder(); // Make the products, the vehicles. shopForeman.Construct(carBuilder); shopForeman.Construct(motorCycleBuilder); shopForeman.Construct(scooterBuilder); // Get the vehicles and access their methods. Vehicle car = carBuilder.vehicle; Debug.Log(car.GetPartsList()); Vehicle motorCycle = motorCycleBuilder.vehicle; Debug.Log(motorCycle.GetPartsList()); Vehicle scooter = scooterBuilder.vehicle; Debug.Log(scooter.GetPartsList()); // These calls don't have anything to do with the pattern. // They are simply here to make our visual display of the vehicles // in the Unity scene look nice. car.parent.transform.position = new Vector3(-6f, 0, 0); motorCycle.parent.transform.position = new Vector3(6f, 0, 0); }
public void TestHandlerAccelerate(double initialVelocity, double distanceToTarget, int cycles, double expectedVelocity) { var road = new Road(new Vector(0, 50), new Vector(50, 50), 20, 100); var city = new CityBuilder() .Road(road) .Build(); var car = new CarBuilder() .Location(new Vector(10, 60)) .Direction(DirectionCar.East) .Sensor(Car => new LineSensor(Car, Direction.Left)) .Sensor(Car => new LineSensor(Car, Direction.Right)) .CurrentRoad(road) .Build(); var controller = car.Controller; var velocity = new Vector(initialVelocity, 0.0); for (var time = 0; time < cycles; time++) { car.Sensors.ForEach(sensor => sensor.Controller.Update()); car.Controller.HandleAccelerate(ref velocity, ref distanceToTarget); } Assert.AreEqual(expectedVelocity, velocity.Length, 0.01); Assert.AreEqual(expectedVelocity, velocity.X, 0.01); Assert.AreEqual(0, velocity.Y, 0.01); }
public void TestHandleApproachTarget(double targetX, double targetY, double initialVelocity, double expectedSpeed, double expectedRotation) { var road = new Road(new Vector(0, 50), new Vector(50, 50), 20, 100); var city = new CityBuilder() .Road(road) .Build(); var car = new CarBuilder() .Location(new Vector(10, 55)) .Direction(DirectionCar.East) .Sensor(Car => new LineSensor(Car, Direction.Left)) .Sensor(Car => new LineSensor(Car, Direction.Right)) .CurrentRoad(road) .Build(); car.Destination = new Destination { Location = new Vector(targetX, targetY), Road = road }; var controller = car.Controller; var velocity = new Vector(initialVelocity, 0.0); var yaw = 0.0; var addedRotation = 0.0; var distanceToDestination = 10000.0; controller.HandleApproachTarget(ref velocity, ref yaw, ref addedRotation, ref distanceToDestination); Assert.AreEqual(expectedSpeed, velocity.Length, 0.01); }
public void TestHandleStayInLane(double carX, double carY, double expectedRotation) { var road = new Road(new Vector(0, 50), new Vector(50, 50), 20, 100); var city = new CityBuilder() .Road(road) .Build(); var car = new CarBuilder() .Location(new Vector(carX, carY)) .Direction(DirectionCar.East) .Sensor(Car => new LineSensor(Car, Direction.Left)) .Sensor(Car => new LineSensor(Car, Direction.Right)) .CurrentRoad(road) .Build(); var controller = car.Controller; var velocity = new Vector(); var yaw = 0.0; var addedRotation = 0.0; car.Sensors.ForEach(sensor => sensor.Controller.Update()); controller.HandleStayInLane(ref velocity, ref yaw, ref addedRotation); Assert.AreEqual(new Vector(), velocity); Assert.AreEqual(0.0, yaw, 0.01); }
public void TestUpdateStayInLane(double carX, double carY, double targetX, double targetY, int cycles, double expectedX, double expectedY) { var road = new Road(new Vector(0, 50), new Vector(50, 50), 20, 100); var city = new CityBuilder() .Road(road) .Build(); var car = new CarBuilder() .Location(new Vector(carX, carY)) .Direction(DirectionCar.East) .Sensor(Car => new LineSensor(Car, Direction.Left)) .Sensor(Car => new LineSensor(Car, Direction.Right)) .CurrentRoad(road) .Build(); car.Destination = new Destination { Location = new Vector(targetX, targetY), Road = road }; var controller = car.Controller; for (var time = 0; time < cycles; time++) { car.Sensors.ForEach(sensor => sensor.Controller.Update()); car.Controller.Update(); } Assert.AreEqual(expectedY, car.Location.Y, 1.0); }
/// <summary> /// Entry point into console application. /// </summary> public static void Main222() { prodA obja = new prodA(); var obja1 = new productclass(); // obja1 = obja; obja.print(); obja1.print(); VehicleBuilder builder; // Create shop with vehicle builders Shop shop = new Shop(); // Construct and display vehicles builder = new ScooterBuilder(); shop.Construct(builder); builder.Vehicle.Show(); builder = new CarBuilder(); shop.Construct(builder); builder.Vehicle.Show(); builder = new MotorCycleBuilder(); shop.Construct(builder); builder.Vehicle.Show(); // Wait for user Console.ReadKey(); }
public void MakeSportCar(CarBuilder builder) { builder.SetBrand(); builder.SetEngine(new SportEngine()); builder.SetSeats(4); builder.SetGPS(true); }
static void Main(string[] args) { VehicleBuilder builder; // Create shop with vehicle builders Shop shop = new Shop(); // Construct and display vehicles builder = new ScooterBuilder(); shop.Construct(builder); builder.Vehicle.Show(); builder = new CarBuilder(); shop.Construct(builder); builder.Vehicle.Show(); builder = new MotorCycleBuilder(); shop.Construct(builder); builder.Vehicle.Show(); // Wait for user Console.ReadKey(); }
public void Constructor(CarBuilder car, Dictionary<string, string> s) { car.Set_details("wheel", s["wheel"]); car.Set_details("color", s["color"]); car.Set_details("cuzov", s["cuzov"]); car.Set_details("salon", s["salon"]); }
public void TestOutOfRangeCollisionSensor(Direction directionSensor, DirectionCar directionCar, double range, double carX, double carY, double secCarX, double secCarY) { var city = new CityBuilder() .Road(new Vector(10, 0), new Vector(10, 50), 40) .Build(); var sensorCar = new CarBuilder() .Location(new Vector(carX, carY)) .Direction(directionCar) .Sensor(car => new CollisionSensor(car, directionSensor, range)) .Build(); city.Cars.Add(sensorCar); city.Cars.Add(new CarBuilder() .Location(new Vector(secCarX, secCarY)) .Direction(directionCar) .Build()); var sensor = sensorCar.Controller.GetSensors <CollisionSensor>(directionSensor).First(); sensor.SubScribeSensorEvent(EventThrownBad); sensor.Controller.Update(); Assert.Pass(); }
[TestCase(0, 0, 0, -100, 50)] // right out of range public void TestEntityRadarOutOfRange(double carX, double carY, double secCarX, double secCarY, double range) { var city = new CityBuilder() .Road(new Vector(0, 50), new Vector(10, 50), 10) .Road(new Vector(0, 20), new Vector(10, 20), 10) .Build(); var sensorCar = new CarBuilder() .Location(new Vector(carX, carY)) .Direction(DirectionCar.East) .Sensor(car => new EntityRadar(car, range)) .Build(); city.Cars.Add(sensorCar); var secCar = (new CarBuilder() .Location(new Vector(secCarX, secCarY)) .Direction(DirectionCar.East) .Build()); city.Cars.Add(secCar); var sensor = sensorCar.Controller.GetSensors <EntityRadar>(Direction.Global).First(); sensor.Controller.Update(); if (sensor.EntitiesInRange.Count > 0) { Assert.Fail(); } else { Assert.Pass(); } }
public void Create_ShouldReturnViewModel() { //---------------Set up test pack------------------- var partRepository = Substitute.For <IPartRepository>(); var carRepository = Substitute.For <ICarRepository>(); var mapperEngine = Substitute.For <IMappingEngine>(); var part = new PartBuilder().Build(); var parts = new List <TestHabanero.BO.Part> { part }; var car = new CarBuilder().Build(); var cars = new List <Car> { car }; partRepository.GetParts().Returns(parts); carRepository.GetCars().Returns(cars); var partController = CreateBuilder() .WithMappingEngine(mapperEngine) .WithPartRepository(partRepository) .WithCarRepository(carRepository) .Build(); //---------------Assert Precondition---------------- //---------------Execute Test ---------------------- var result = partController.Create() as ViewResult; //---------------Test Result ----------------------- Assert.IsNotNull(result); }
private static void ShowBuilder() { Console.WriteLine("================================================"); Console.WriteLine("Pattern code (Builder):"); Director director = new Director(); Builder b1 = new ConcreteBuilder1(); Builder b2 = new ConcreteBuilder2(); director.Construct(b1); Product p1 = b1.GetResult(); p1.Show(); director.Construct(b2); Product p2 = b2.GetResult(); p2.Show(); Console.WriteLine("Real code (Builder):"); Shop shop = new Shop(); VehicleBuilder builder = new ScooterBuilder(); shop.Construct(builder); builder.Vehicle.Show(); builder = new CarBuilder(); shop.Construct(builder); builder.Vehicle.Show(); builder = new MotorCycleBuilder(); shop.Construct(builder); builder.Vehicle.Show(); }
private void СreateCar_Click(object sender, EventArgs e) { CarBuilder[] bld = new CarBuilder[(int)numericUpDown1.Value]; Car[] c = new Car[bld.Length]; for (int i = 0; i < bld.Length; i++) { switch (comboBox5.Text) { case "Большая машина": bld[i] = new Большая_машина(); break; case "Красивая машина": bld[i] = new Красивая_машина(); break; case "Некрасивая машина": bld[i] = new Некрасивая_машина(); break; default: return; } dir.Constructor(bld[i], detal); c[i] = bld[i].GetCar(); } textBox1.Text += $"Ура! Вы создали {c.Length} {c[0].Name}"; textBox1.Text += c[0].Show(); textBox1.Text += "\r\n"; }
public void CreateCar() { VehicleBuilder vehicleBuilder = new CarBuilder(); VehicleDirector.Construct(vehicleBuilder, "v8", "4", "4"); vehicleBuilder.Vehicle.ShowVehicle(); }
private void btnBuilder_Click(object sender, EventArgs e) { // ------------------------------------------------------------------------ // Builder Pattern // https://dofactory.com/net/builder-design-pattern // Frequency of use: 3 - Medium low txtOutput.Text = ""; VehicleBuilder builder; // Create shop with vehicle builders Shop shop = new Shop(); // Construct and display vehicles builder = new ScooterBuilder(); shop.Construct(builder); txtOutput.Text += builder.Vehicle.Show(); builder = new CarBuilder(); shop.Construct(builder); txtOutput.Text += builder.Vehicle.Show(); builder = new MotorCycleBuilder(); shop.Construct(builder); txtOutput.Text += builder.Vehicle.Show(); }
public void Index_GivenAllUsersReturnedFromRepository_ShouldReturnViewModel() { //---------------Set up test pack------------------- var car = new CarBuilder().WithNewId().Build(); var part = new PartBuilder().WithNewId().Build(); var carPart = new CarPartBuilder().WithNewId().WithCar(car).WithPart(part).Build(); var carParts = new List <CarPart> { carPart }; var repository = Substitute.For <ICarPartRepository>(); var mappingEngine = ResolveMapper(); repository.GetCarPart().Returns(carParts); var partController = CreateBuilder() .WithCarPartRepository(repository) .WithMappingEngine(mappingEngine) .Build(); //---------------Assert Precondition---------------- //---------------Execute Test ---------------------- var result = partController.Index() as ViewResult; //---------------Test Result ----------------------- Assert.IsNotNull(result); var model = result.Model as List <CarPartsIndexViewModel>; Assert.IsInstanceOf <List <CarPartsIndexViewModel> >(model); Assert.AreEqual(carPart.CarPartId, model.FirstOrDefault().CarPartId); Assert.AreEqual(carPart.CarId, model.FirstOrDefault().CarId); Assert.AreEqual(carPart.PartId, model.FirstOrDefault().PartId); Assert.AreEqual(carPart.Quantity, model.FirstOrDefault().Quantity); }
public Car Build(CarBuilder builder) { builder.SetHorsePower(); builder.SetTopSpeed(); builder.SetImpressiveFeature(); return(builder.GetCar()); }
public void BuilderTest() { VehicleBuilder builder; // Create shop with vehicle builders Shop shop = new Shop(); // Construct and display vehicles builder = new ScooterBuilder(); shop.Construct(builder); Assert.IsTrue(builder.Vehicle.VehicleType == "Scooter"); Assert.IsTrue(builder.Vehicle.Parts["frame"] == "Scooter Frame"); Assert.IsTrue(builder.Vehicle.Parts["engine"] == "50 cc"); Assert.IsTrue(builder.Vehicle.Parts["wheels"] == "2"); Assert.IsTrue(builder.Vehicle.Parts["doors"] == "0"); builder = new CarBuilder(); shop.Construct(builder); Assert.IsTrue(builder.Vehicle.VehicleType == "Car"); Assert.IsTrue(builder.Vehicle.Parts["frame"] == "Car Frame"); Assert.IsTrue(builder.Vehicle.Parts["engine"] == "2500 cc"); Assert.IsTrue(builder.Vehicle.Parts["wheels"] == "4"); Assert.IsTrue(builder.Vehicle.Parts["doors"] == "4"); builder = new MotorcycleBuilder(); shop.Construct(builder); Assert.IsTrue(builder.Vehicle.VehicleType == "Motorcycle"); Assert.IsTrue(builder.Vehicle.Parts["frame"] == "Motorcycle Frame"); Assert.IsTrue(builder.Vehicle.Parts["engine"] == "500 cc"); Assert.IsTrue(builder.Vehicle.Parts["wheels"] == "2"); Assert.IsTrue(builder.Vehicle.Parts["doors"] == "0"); }
//public static void addCar() //{ // CarBuilder builder = new CarBuilder(); // builder.getVehicleInfo("A6"); // builder.GetVehicle(); // MessageBox.Show(builder.GetVehicle().ToString()); //} private void ListViewItem_PreviewMouseLeftButtonUp(object sender, MouseButtonEventArgs e) { var item = sender as ListViewItem; if (item != null) { //Do your stuff //string s = item.ToString(); //MessageBox.Show(s); IVehicleBuilder builder = new CarBuilder(); builder.getVehicleInfo(item.Content.ToString()); txtCarManuf.Text = builder.GetVehicle().Name; txtCarModel.Text = builder.GetVehicle().Model; txtCarTransmission.Text = builder.GetVehicle().Transmission; txtCarGazType.Text = builder.GetVehicle().GazType; txtEngineLitres.Text = builder.GetVehicle().EngineLitres.ToString(); txtPrice.Text = builder.GetVehicle().Price.ToString(); txtTypeOfCar.Text = builder.GetVehicle().TypeOfCar; Uri imageUri1 = new Uri(builder.GetVehicle().Photo2, UriKind.RelativeOrAbsolute); BitmapImage imageBitmap1 = new BitmapImage(imageUri1); imgCar.Source = imageBitmap1; } }
void Start() { // Instantiate the director and builders ShopForeman shopForeman = new ShopForeman(); CarBuilder carBuilder = new CarBuilder(); MotorCycleBuilder motorCycleBuilder = new MotorCycleBuilder(); ScooterBuilder scooterBuilder = new ScooterBuilder(); // Make the products shopForeman.Construct(carBuilder); shopForeman.Construct(motorCycleBuilder); shopForeman.Construct(scooterBuilder); // Get the vehicles and do stuff with them Vehicle car = carBuilder.vehicle; car.parent.transform.position = new Vector3(-6f, 0, 0); Debug.Log(car.GetPartsList()); Vehicle motorCycle = motorCycleBuilder.vehicle; motorCycle.parent.transform.position = new Vector3(6f, 0, 0); Debug.Log(motorCycle.GetPartsList()); Vehicle scooter = scooterBuilder.vehicle; scooter.parent.transform.localScale *= 0.5f; Debug.Log(scooter.GetPartsList()); }
private static void Main(string[] args) { Console.WriteLine("Hello World!"); var carBuilder = new CarBuilder(); var car = new VehicleCreator(carBuilder); car.CreateVehicleCaracteristics(); Console.WriteLine(carBuilder.ToString()); car.CreateVehicleAcessories(); Console.WriteLine(carBuilder.ToString()); //alternativa var truckBuilder = new TruckBuilder() .SetModel("FH-420") .SetColor("Black") .SetYear(2020); Console.WriteLine(truckBuilder.ToString()); truckBuilder.SetAcessories(new List <string> { "Geladeira", "Capa para bancos", "Alarme" }); Console.WriteLine(truckBuilder.ToString()); Console.ReadKey(); }
public Car MakeCar() { CarBuilder cb = ReturnBuilder(Rand.Next(1, 11), true); cb.CreateCar(); return(cb.Car); }
public void TestCarBuilder() { var shop = new Shop(); VehicleBuilder builder = new ScooterBuilder(); shop.Construct(builder); var scooter = builder.Vehicle.Show(true); Assert.AreEqual(scooter["frame"], "Scooter Frame"); Assert.AreEqual(scooter["engine"], "50 cc"); Assert.AreEqual(scooter["wheels"], "2"); Assert.AreEqual(scooter["doors"], "0"); builder = new CarBuilder(); shop.Construct(builder); var car = builder.Vehicle.Show(true); Assert.AreEqual(car["frame"], "Car Frame"); Assert.AreEqual(car["engine"], "2500 cc"); Assert.AreEqual(car["wheels"], "4"); Assert.AreEqual(car["doors"], "4"); builder = new MotorCycleBuilder(); shop.Construct(builder); var motor = builder.Vehicle.Show(true); Assert.AreEqual(motor["frame"], "MotorCycle Frame"); Assert.AreEqual(motor["engine"], "500 cc"); Assert.AreEqual(motor["wheels"], "2"); Assert.AreEqual(motor["doors"], "0"); }
public Car(CarBuilder builder) { this.make = builder.make; this.model = builder.model; this.color = builder.color; this.numDoors = builder.numDoors; this.hp = builder.hp; this.isManual = builder.isManual; }
//################################################################################################################## public static Car NewCar() { var builder = new CarBuilder(); var director = new VehicleDirector(); director.VehicleBuilder = builder; director.BuildCar(); return(builder.GetCar()); }
public Car ConstructGreenCar() { CarBuilder builder = new CarBuilder(); builder.SetColour("Green"); builder.SetWheels(4); return(builder.GetResult()); }
public void CarBuilderPatternTest() { AbstractCar car = new Saloon(new StandardEngine(1300)); VehicleBuilder builder = new CarBuilder(car); VehicleDirector vehicleDirector = new CarDirector(); IVehicle veh = vehicleDirector.Build(builder); Console.WriteLine(veh); }
public Car Construct() { CarBuilder builder = new CarBuilder(); builder.SetColour("Red"); builder.SetWheels(4); return builder.GetResult(); }
public override Car Construct() { CarBuilder.BuildFrame(); CarBuilder.BuildEngine(); CarBuilder.BuildWheels(); CarBuilder.BuildSafety(); return(CarBuilder.GetCar()); }
public void When_Car_IsBuild() { var builder = new CarBuilder(); builder .BuildFrame() .BuildEngine() .BuildWheels() .BuildDoors() .DisplayVehicle(); }
public void WithoutYear_IsInvalid() { var domain = new CarBuilder() .WithModel("model example") .WithFeatures("features example") .WithId(Guid.Empty) .Build(); Assert.False(domain.IsValid()); }
internal static void Main() { VehicleBuilder builder; var shop = new Shop(); builder = new ScooterBuilder(); shop.Construct(builder); builder.Vehicle.Show(); builder = new CarBuilder(); shop.Construct(builder); builder.Vehicle.Show(); builder = new MotorCycleBuilder(); shop.Construct(builder); builder.Vehicle.Show(); }
public static void Main() { // We can choose concrete constructor (director) IVehicleConstructor constructor = new VehicleConstructor(); // And we can choose concrete builder VehicleBuilder builder = new ScooterBuilder(); constructor.Construct(builder); builder.Vehicle.Show(); builder = new CarBuilder(); constructor.Construct(builder); builder.Vehicle.Show(); builder = new MotorCycleBuilder(); constructor.Construct(builder); builder.Vehicle.Show(); }
public override void buildProduct() { VehicleBuilder builder; // Create shop with vehicle builders VehicleShop shop = new VehicleShop(); // Construct and display vehicles builder = new ScooterBuilder(); Vehicle Scooter = shop.Construct(builder); Scooter.Show(); builder = new CarBuilder(); Vehicle Car = shop.Construct(builder); Car.Show(); builder = new MotorCycleBuilder(); Vehicle MotorCycle = shop.Construct(builder); MotorCycle.Show(); }
public static void Main( string[] args ) { // Create shop with vehicle builders Shop shop = new Shop(); VehicleBuilder b1 = new ScooterBuilder(); VehicleBuilder b2 = new CarBuilder(); VehicleBuilder b3 = new MotorCycleBuilder(); // Construct and display vehicles shop.Construct( b1 ); b1.Vehicle.Show(); shop.Construct( b2 ); b2.Vehicle.Show(); shop.Construct( b3 ); b3.Vehicle.Show(); }