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); }
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); }
public void IfValueIsOverwrittenTheNewValueIsRead() { var builder = new InstanceBuilder <TestClass>(); builder.SetMember("_basePublicField", "Hello"); builder.SetMember("_basePublicField", "Hi!"); builder.GetMember <string>("_basePublicField").Should().Be("Hi!"); }
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); }