コード例 #1
0
        public void ValuesCanBeRead()
        {
            var builder = new InstanceBuilder <TestClass>();

            builder.SetMember("_basePublicField", "Hello");
            builder.SetMember("BasePublicProperty", 42);

            builder.GetMember <string>("_basePublicField").Should().Be("Hello");
            builder.GetMember <int>("BasePublicProperty").Should().Be(42);
        }
コード例 #2
0
        public void ValuesCanBeRead_AfterCreation()
        {
            var builder = new InstanceBuilder <TestClass>(true); //note that we enable after creation manipulation

            builder.SetMember("_basePublicField", "Hello");
            builder.SetMember("BasePublicProperty", 42);

            var instance = builder.GetInstance();

            builder.GetMember <string>("_basePublicField").Should().Be("Hello");
            builder.GetMember <int>("BasePublicProperty").Should().Be(42);
        }
コード例 #3
0
        public void IfValueIsOverwrittenTheNewValueIsRead()
        {
            var builder = new InstanceBuilder <TestClass>();

            builder.SetMember("_basePublicField", "Hello");
            builder.SetMember("_basePublicField", "Hi!");

            builder.GetMember <string>("_basePublicField").Should().Be("Hi!");
        }
コード例 #4
0
        public void GetMember_AfterCreation_ShouldThrow()
        {
            var builder = new InstanceBuilder <TestClass>();

            builder.SetMember("_basePublicField", "Hello");

            var instance = builder.GetInstance();

            Action action = () => builder.GetMember <string>("_basePublicField");

            action.ShouldThrow <ShapeshifterException>().Where(i => i.Id == Exceptions.InstanceAlreadyGivenAwayId);
        }