コード例 #1
0
        public void Test()
        {
            var builder = new Builder()
                .WithProperty1(1)
                .WithProperty2("2")
                .WithProperty3(new DateTime(3, 3, 3, 3, 3, 3))
                .WithSubProperty1("1")
                .WithSubProperty2(2);

            var representation1 = builder.Construct();

            Assert.That(representation1.Property1, Is.EqualTo(1));
            Assert.That(representation1.Property2, Is.EqualTo("2"));
            Assert.That(representation1.Property3, Is.EqualTo(new DateTime(3, 3, 3, 3, 3, 3)));
            Assert.That(representation1.Sub.Property1, Is.EqualTo("1"));
            Assert.That(representation1.Sub.Property2, Is.EqualTo(2));

            var representation2 = builder.Construct();

            Assert.That(representation2.Property1, Is.EqualTo(1));
            Assert.That(representation2.Property2, Is.EqualTo("2"));
            Assert.That(representation2.Property3, Is.EqualTo(new DateTime(3, 3, 3, 3, 3, 3)));
            Assert.That(representation2.Sub.Property1, Is.EqualTo("1"));
            Assert.That(representation2.Sub.Property2, Is.EqualTo(2));

            Assert.That(representation1, Is.Not.SameAs(representation2));
        }
コード例 #2
0
 // Builder uses a complex series of steps
 public void Construct(Builder builder)
 {
     builder.BuildPartA();
       builder.BuildPartB();
 }