示例#1
0
        public override object Resolve(InjectionContext context)
        {
            object instance;

            MyBuilder.BuildInstance(context, null, out instance);
            return(instance);
        }
示例#2
0
        public override TDependency Resolve(InjectionContext context)
        {
            object instance;

            MyBuilder.BuildInstance(context, null, out instance);
            return(MapInstance(instance));
        }
示例#3
0
        static void Main(string[] args)
        {
            var z = MyBuilder.Summa(4, 5);
            A   x = new A("ffff");
            var t = x.Sum(z, 11);

            Console.WriteLine("Hello World! " + t.ToString());
        }
示例#4
0
            public unsafe CharBuffer Append(char[] src, int length)
            {
                fixed(char *smem = src)
                fixed(char *dmem = &this.Buffer[this.Size])
                MyBuilder.wstrcpy(dmem, smem, length);

                this.Size += length;
                return(this);
            }
示例#5
0
        private void Enqueue(MyBuilder builder)
        {
            Segment    segment = (Segment)Thread.VolatileRead(ref this._currentSegment);
            CharBuffer buffer  = this._bufferCache.AcquireCacheItem();

            buffer.Append(builder.GetArray(), builder.Length);
            segment.Enqueue(buffer);
            Interlocked.Increment(ref this.RecordsEnqueued);
        }
示例#6
0
        public unsafe override void Write(string message)
        {
            MyBuilder builder = AcquireStringBuilder();
            DateTime  now     = DateTime.Now;

            builder.Append(now.Year).Append('.').Append(now.Month).Append('.').Append(now.Day).Append(' ').
            Append(now.Hour).Append(':').Append(now.Minute).Append(':').Append(now.Second).Append('.').Append(now.Millisecond).
            Append(", MESSAGE: ").AppendLine(message);
            this.Enqueue(builder);
        }
示例#7
0
        public void GetUser()
        {
            var yeni = new MyBuilder("Serol", "Güzel")
                       .Age(110)
                       .Mail("*****@*****.**")
                       .Phone("5416510875")
                       .Address("Bu bir adres")
                       .SendMail().Build();

            Console.WriteLine(yeni.Address);
        }
示例#8
0
        static void Main(string[] args)
        {
            MyBuilder MB = new MyBuilder();
            String    s  = MB.RecipeName("Sweet Carrot").RecipeIngredints(" " +
                                                                          "\n\t # 10 large Carrots " +
                                                                          "\n\t # 2 medium Apples " +
                                                                          "\n\t # 1 / 4 cup Parsley(optional)").RecipeMethods(" \n\t #### Wash, prep, and chop produce." +
                                                                                                                              "\n\t #### Add produce to juicer one at a time.Serve cold over ice. " +
                                                                                                                              "\n\t #### May store in tightly sealed jars or glasses in the refrigerator for 7-10 days. " +
                                                                                                                              "\n\t #### Shake or stir well before drinking.  ").RecipeURL(" \n\n https://www.modernhoney.com/healthy-juice-cleanse-recipes/").get();

            Console.WriteLine(s);
        }
示例#9
0
        private static MyBuilder AcquireStringBuilder()
        {
            if (strBuilder == null)
            {
                strBuilder = new MyBuilder(10000);
            }
            else
            {
                strBuilder.Clear();
            }

            return(strBuilder);
        }
    public void Can_Dump_Class_With_Custom_ObjectHandler()
    {
        // Arrange
        var input = new MyBuilder().WithName("Test").AddValues("1", "2", "3");

        // Act
        var actual = Dump(input, new[] { new BuilderObjectHandler() });

        // Assert
        actual.Should().Be(@"new CsharpExpressionDumper.Core.Tests.TestFixtures.MyBuilder()
    .WithName(@""Test"")
    .AddValues(
        @""1"",
        @""2"",
        @""3"")");
    }
示例#11
0
        public void CustomToolchain()
        {
            var logger = new OutputLogger(output);

            var generator = new MyGenerator();
            var builder = new MyBuilder();
            var executor = new MyExecutor();
            var myToolchain = new Toolchain("My", generator, builder, executor);
            var job = Job.Default.With(myToolchain).With(Mode.SingleRun).WithLaunchCount(1).WithWarmupCount(1).WithTargetCount(1);

            var config = DefaultConfig.Instance.With(job).With(logger);
            BenchmarkRunner.Run<ToolchainTest>(config);
            Assert.True(generator.Done);
            Assert.True(builder.Done);
            Assert.True(executor.Done);
        }
    public void Can_Generate_Code_With_CustomObjectHandler()
    {
        // Arrange
        var sut          = new BuilderObjectHandler();
        var instance     = new MyBuilder().WithName("Test").AddValues("1", "2", "3");
        var command      = new ObjectHandlerRequest(instance, typeof(MyBuilder), 0, typeof(MyBuilder), false);
        var callbackMock = new Mock <ICsharpExpressionDumperCallback>();

        callbackMock.Setup(x => x.IsPropertyValid(It.IsAny <ObjectHandlerRequest>(), It.IsAny <PropertyInfo>())).Returns(true);

        // Act
        var actual = sut.ProcessInstance(command, callbackMock.Object);

        // Assert
        actual.Should().BeTrue();
    }
示例#13
0
        public void CustomToolchainsAreSupported()
        {
            var logger = new OutputLogger(Output);

            var generator   = new MyGenerator();
            var builder     = new MyBuilder();
            var executor    = new MyExecutor();
            var myToolchain = new Toolchain("My", generator, builder, executor);
            var job         = Job.Dry.With(myToolchain);
            var config      = CreateSimpleConfig(logger).With(job);

            CanExecute <ToolchainBenchmark>(config, fullValidation: false);

            Assert.True(generator.Done);
            Assert.True(builder.Done);
            Assert.True(executor.Done);
        }
        public void CustomToolchainsAreSupported()
        {
            var logger = new OutputLogger(Output);

            var generator = new MyGenerator();
            var builder = new MyBuilder();
            var executor = new MyExecutor();
            var myToolchain = new Toolchain("My", generator, builder, executor);
            var job = new Job(Job.Dry) { Infrastructure = { Toolchain = myToolchain} };
            var config = CreateSimpleConfig(logger).With(job);

            CanExecute<ToolchainBenchmark>(config, fullValidation: false);

            Assert.True(generator.Done);
            Assert.True(builder.Done);
            Assert.True(executor.Done);
        }
示例#15
0
        public void CustomToolchain()
        {
            var logger = new OutputLogger(output);

            var generator   = new MyGenerator();
            var builder     = new MyBuilder();
            var executor    = new MyExecutor();
            var myToolchain = new Toolchain("My", generator, builder, executor);
            var job         = Job.Default.With(myToolchain).With(Mode.SingleRun).WithLaunchCount(1).WithWarmupCount(1).WithTargetCount(1);

            var config = DefaultConfig.Instance.With(job).With(logger);

            BenchmarkRunner.Run <ToolchainTest>(config);
            Assert.True(generator.Done);
            Assert.True(builder.Done);
            Assert.True(executor.Done);
        }
示例#16
0
        public void CustomToolchain()
        {
            var generator = new MyGenerator();
            var builder = new MyBuilder();
            var executor = new MyExecutor();
            var plugins = BenchmarkPluginBuilder.CreateEmpty().
                AddToolchain(new BenchmarkToolchainBuilder(
                    BenchmarkToolchain.Custom1,
                    (benchmark, logger) => generator,
                    (benchmark, logger) => builder,
                    (benchmark, logger) => executor));
            new BenchmarkRunner(plugins).Run<ToolchainTest>();
            Assert.True(generator.Done);
            Assert.True(builder.Done);
            Assert.True(executor.Done);

            Assert.Throws<NotSupportedException>(() => new BenchmarkRunner(BenchmarkPluginBuilder.CreateEmpty()).Run<ToolchainTest>());
        }
        public void CustomToolchain()
        {
            var generator = new MyGenerator();
            var builder   = new MyBuilder();
            var executor  = new MyExecutor();
            var plugins   = BenchmarkPluginBuilder.CreateEmpty().
                            AddToolchain(new BenchmarkToolchainBuilder(
                                             BenchmarkToolchain.Custom1,
                                             (benchmark, logger) => generator,
                                             (benchmark, logger) => builder,
                                             (benchmark, logger) => executor));

            new BenchmarkRunner(plugins).Run <ToolchainTest>();
            Assert.True(generator.Done);
            Assert.True(builder.Done);
            Assert.True(executor.Done);

            Assert.Throws <NotSupportedException>(() => new BenchmarkRunner(BenchmarkPluginBuilder.CreateEmpty()).Run <ToolchainTest>());
        }
示例#18
0
        public void Test_Builder()
        {
            // this test is a Director and has a Construct method
            // Construct
            string[] parts = { "wall", "door", "room", "wall", "window", "wall", "window", "wall", "fireplace" };

            {
                MyConcreteBuilder builder = new MyConcreteBuilder();
                MyBuilder         b       = builder;

                foreach (string part in parts)
                {
                    b.BuildPart(part);
                }

                var result = builder.GetResult();
                System.Diagnostics.Debug.WriteLine(result);

                Assert.IsTrue(result.Length > 0);
            }
        }
示例#19
0
 public void Construct(MyBuilder theBuilder)
 {
     m_Product = new MyBuilderProduct();
     theBuilder.BuildPart1(m_Product);
     theBuilder.BuildPart2(m_Product);
 }
示例#20
0
 // TODO: 待完善...
 public ConstructorArg(MyBuilder builder)
 {
     this.isRef = builder.isRef;
     this.type  = builder.type;
     this.arg   = builder.arg;
 }