Пример #1
0
    public void DoSomethingWithCars()
    {
        var builder  = new FerrariBuilder();
        var director = new SportsCarBuildDirector(builder);

        director.Construct();
        Car myRaceCar = builder.GetResult();
    }
Пример #2
0
        static void Main(string[] args)
        {
            var builder  = new FerrariBuilder();
            var director = new SportsCarBuildDirector(builder);

            director.Construct();
            Car myRaceCar = builder.GetResult();
        }
Пример #3
0
 public Car createFerrari(FerrariBuilder builder)
 {
     builder.createCar();
     builder.addModel();
     builder.addNumberOfWheel();
     builder.addMaxSpeed();
     builder.addColor("Red");
     return(builder.getCar());
 }
Пример #4
0
        public void ShouldBuildAFerrari()
        {
            var builder  = new FerrariBuilder();
            var director = new SportCarBuildDirector(builder);

            director.Construct();
            Car ferrari = builder.GetResult();

            ferrari.Color.Should().BeEquivalentTo("Red");
            ferrari.NumDoors.Should().Be(2);
            ferrari.Make.Should().BeEquivalentTo("Ferrari");
            ferrari.Model.Should().BeEquivalentTo("488 Spider");
        }
        public void Ferrari_RedTwoDoors_IsTrue()
        {
            //arrange
            var builder  = new FerrariBuilder();
            var director = new SportscarBuilderDirector(builder);
            var colour   = "Red";
            var numboors = 2;

            //act
            director.Construct(colour, numboors);
            var MyCar = builder.GetResult();

            //Assert
            Assert.IsTrue((MyCar.Make.Equals("Ferrari") && MyCar.Model.Equals("488 Spider") && MyCar.Colour.Equals(colour) && MyCar.NumDoors == numboors));
        }
Пример #6
0
        public static void Main(string[] args)
        {
            var builder     = new FerrariBuilder();
            var corvBuilder = new CorvetteBuilder();
            var director    = new SportscarBuilderDirector(builder);
            var director2   = new SportscarBuilderDirector(corvBuilder);

            director.Construct("Red", 2);
            director2.Construct("Black", 2);
            Car MyCar      = builder.GetResult();
            Car MyCorvette = corvBuilder.GetResult();

            Console.WriteLine($"Marke: {MyCar.Make}, Model: {MyCar.Model}, Farbe: {MyCar.Colour}, Türen: {MyCar.NumDoors}");
            Console.WriteLine($"Marke: {MyCorvette.Make}, Model: {MyCorvette.Model}, Farbe: {MyCorvette.Colour}, Türen: {MyCorvette.NumDoors}");
            Console.ReadLine();
        }
Пример #7
0
        public void Build_ProtectedCtor_BuildsDefaultObject()
        {
            // Arrange
            FerrariBuilder builder = new FerrariBuilder();

            // Act
            Car actual = builder.Build();

            // Assert
            Assert.NotNull(actual);

            new
            {
                Color    = Car.DefaultColor,
                NumDoors = default(int),
                Model    = Car.DefaultModel
            }.ToExpectedObject().ShouldMatch(actual);
        }
Пример #8
0
        public void Build_WithModifications_BuildsModifiedObject()
        {
            // Arrange
            FerrariBuilder builder = new FerrariBuilder()
                                     .WithColor(Color.Red)
                                     .WithNumDoors(NumDoors);

            // Act
            Car actual = builder.Build();

            // Assert
            Assert.NotNull(actual);

            new
            {
                Color = Color.Red.Name,
                NumDoors,
                Model = Car.DefaultModel
            }.ToExpectedObject().ShouldMatch(actual);
        }
Пример #9
0
        public void Start()
        {
            // Create director and builders

            Director director = new Director();

            Builder b1 = new FerrariBuilder();
            Builder b2 = new ChevroletBuilder();

            // Construct two products

            director.Construct(b1);
            Car car1 = b1.GetResult();

            car1.Show();

            director.Construct(b2);
            Car car2 = b2.GetResult();

            car2.Show();
        }
Пример #10
0
        public static void Main()
        {
            ICarBuilder            ferrariBuilder  = new FerrariBuilder();
            SportsCarBuildDirector ferrariDirector = new SportsCarBuildDirector(ferrariBuilder);

            ferrariDirector.Construct();

            Car ferrari1 = ferrariBuilder.GetResult();
            Car ferrari2 = ferrariBuilder.GetResult();

            Console.WriteLine($"The cars brand is a {ferrari1.brand} and it's colour is {ferrari1.colour}");


            ICarBuilder            lamborghiniBuilder  = new LamborghiniBuilder();
            SportsCarBuildDirector lamborghiniDirector = new SportsCarBuildDirector(lamborghiniBuilder);

            lamborghiniDirector.Construct();

            Car lamborghini1 = lamborghiniBuilder.GetResult();
            Car lamborghini2 = lamborghiniBuilder.GetResult();

            Console.WriteLine($"The cars brand is a {lamborghini1.brand} and it's colour is {lamborghini1.colour}");
        }
Пример #11
0
        public void Build_MultipleBuilders_BuildsModifiedObject()
        {
            // Arrange
            FerrariBuilder builder = new FerrariBuilder()
                                     .WithColor(Color.Red)
                                     .WithNumDoors(NumDoors);

            // Act
            Car actualFerrari208Gts = builder
                                      .WithModel(FerraryModels.Ferrari208Gts)
                                      .Build();

            Car actualFerrari308Gtbi = builder
                                       .WithModel(FerraryModels.Ferrari308Gtbi)
                                       .Build();

            // Assert
            Assert.NotNull(actualFerrari208Gts);
            Assert.NotNull(actualFerrari308Gtbi);
            Assert.True(actualFerrari208Gts != actualFerrari308Gtbi);
            Assert.True(actualFerrari208Gts.Id != actualFerrari308Gtbi.Id);

            new
            {
                Color = Color.Red.Name,
                NumDoors,
                Model = FerraryModels.Ferrari208Gts
            }.ToExpectedObject().ShouldMatch(actualFerrari208Gts);

            new
            {
                Color = Color.Red.Name,
                NumDoors,
                Model = FerraryModels.Ferrari308Gtbi
            }.ToExpectedObject().ShouldMatch(actualFerrari308Gtbi);
        }