Пример #1
0
 public Building Build(Builders.Builder builder)
 {
     builder.BuildFundaments();
     builder.BuildWalls();
     builder.BuildRoof();
     return(builder.Instance());
 }
Пример #2
0
 public virtual void ConstructSuv(Builders.Builder builder)
 {
     builder.SetType(Cars.Type.SUV);
     builder.SetSeats(4);
     builder.SetEngine(new Engine(2.5, 0));
     builder.SetTransmission(Transmission.MANUAL);
     builder.SetGpsNavigator(new GPSNavigator());
 }
Пример #3
0
 public void ConstructCityCar(Builders.Builder builder)
 {
     builder.SetType(Cars.Type.CITY_CAR);
     builder.SetSeats(2);
     builder.SetEngine(new Engine(1.2, 0));
     builder.SetTransmission(Transmission.AUTOMATIC);
     builder.SetTripComputer(new TripComputer());
     builder.SetGpsNavigator(new GPSNavigator());
 }
Пример #4
0
 public void ConstructSportsCar(Builders.Builder builder)
 {
     builder.SetType(Cars.Type.SPORTS_CAR);
     builder.SetSeats(2);
     builder.SetEngine(new Engine(3.0, 0));
     builder.SetTransmission(Transmission.SEMI_AUTOMATIC);
     builder.SetTripComputer(new TripComputer());
     builder.SetGpsNavigator(new GPSNavigator());
 }
        public void MultipleUseNetworkWithSameAliasShallWorkWithString()
        {
            using (var nw1 = _host.CreateNetwork("unit-test-network-1", removeOnDispose: true))
                using (var nw2 = _host.CreateNetwork("unit-test-network-2", removeOnDispose: true))
                {
                    var alias           = "hello";
                    var testerImageName = $"hello-world-tester";

                    var helloContainerBuilder = new Builders.Builder().UseContainer()
                                                .UseImage("crccheck/hello-world")
                                                .UseNetworksWithAlias(alias, nw1.Name, nw2.Name);

                    var testerImageBuilder = new Builders.Builder().DefineImage(testerImageName)
                                             .From("alpine")
                                             .Run(
                        "apk add curl"
                        )
                                             .Command(
                        "curl", $"http://{alias}:8000"
                        );

                    var testerContainerBuilder1 = new Builders.Builder().UseContainer()
                                                  .UseNetwork(nw1)
                                                  .UseImage(testerImageName);

                    var testerContainerBuilder2 = new Builders.Builder().UseContainer()
                                                  .UseNetwork(nw2)
                                                  .UseImage(testerImageName);


                    using (var helloContainer = helloContainerBuilder.Build())
                        using (var testerImage = testerImageBuilder.Build())
                            using (var testerContainer1 = testerContainerBuilder1.Build())
                                using (var testerContainer2 = testerContainerBuilder2.Build())
                                {
                                    helloContainer.Start();

                                    testerContainer1.Start();
                                    var logsAlias1 = string.Join(
                                        "\n",
                                        testerContainer1.DockerHost.Logs(testerContainer1.Id).ReadToEnd());

                                    Assert.IsTrue(logsAlias1.IndexOf("Hello World") >= 0);

                                    testerContainer2.Start();
                                    var logsAlias2 = string.Join(
                                        "\n",
                                        testerContainer2.DockerHost.Logs(testerContainer2.Id).ReadToEnd());

                                    Assert.IsTrue(logsAlias2.IndexOf("Hello World") >= 0);
                                }
                }
        }
        public void AttachWithAliasShallWorkWithIContainerService()
        {
            using (var nw = _host.CreateNetwork("unit-test-network", removeOnDispose: true))
            {
                var alias           = "hello";
                var testerImageName = "hello-world-tester";

                var helloContainerBuilder = new Builders.Builder().UseContainer()
                                            .UseImage("crccheck/hello-world");

                var testerImageBuilder = new Builders.Builder().DefineImage(testerImageName)
                                         .From("alpine")
                                         .Run(
                    "apk add curl"
                    )
                                         .Command(
                    "curl", $"http://{alias}:8000"
                    );

                var testerContainerBuilder = new Builders.Builder().UseContainer()
                                             .UseNetwork(nw)
                                             .UseImage(testerImageName);


                using (var helloContainer = helloContainerBuilder.Build())
                    using (var testerImage = testerImageBuilder.Build())
                        using (var testerContainer = testerContainerBuilder.Build())
                        {
                            helloContainer.Start();
                            nw.Attach(helloContainer, true, alias);

                            testerContainer.Start();
                            var logs = string.Join(
                                "\n",
                                testerContainer.DockerHost.Logs(testerContainer.Id).ReadToEnd());

                            Assert.IsTrue(logs.IndexOf("Hello World") >= 0);
                        }
            }
        }
Пример #7
0
 public void Master()
 {
     // Use the alias
     Builders.Builder bob = new Builders.Builder();
     bob.Build();
 }
Пример #8
0
 public Director(Builders.Builder builder)
 {
     _builder = builder;
 }