public void BuildSetter_StandardType_BuildsSetters() { var flags = BindingFlags.Instance | BindingFlags.NonPublic | BindingFlags.Public; var now = DateTime.Now; var propertySetter1 = DelegateBuilder.BuildSetter <DelegateBuilderTest>(GetType().GetProperty("Property1", flags)); propertySetter1(this, (long?)1); var propertySetter2 = DelegateBuilder.BuildSetter <DelegateBuilderTest>(GetType().GetProperty("Property2", flags)); propertySetter2(this, (long)2); var propertySetter3 = DelegateBuilder.BuildSetter <DelegateBuilderTest>(GetType().GetProperty("Property3", flags)); propertySetter3(this, now); var propertySetter4 = DelegateBuilder.BuildSetter <DelegateBuilderTest>(GetType().GetProperty("Property4", flags)); propertySetter4(this, now); var propertySetter5 = DelegateBuilder.BuildSetter <DelegateBuilderTest>(GetType().GetProperty("Property5", flags)); propertySetter5(this, "str"); var propertySetter6 = DelegateBuilder.BuildSetter <DelegateBuilderTest>(GetType().GetProperty("Property6", flags)); propertySetter6(this, SomeEnum.Value1); var propertySetter7 = DelegateBuilder.BuildSetter <DelegateBuilderTest>(GetType().GetProperty("Property7", flags)); propertySetter7(this, SomeEnum.Value2); Property1.Should().Be.EqualTo(1); Property2.Should().Be.EqualTo(2); Property3.Should().Be.EqualTo(now); Property4.Should().Be.EqualTo(now); Property5.Should().Be.EqualTo("str"); Property6.Should().Be.EqualTo(SomeEnum.Value1); Property7.Should().Be.EqualTo(SomeEnum.Value2); }