public void GetValue_ImplementationsAddsGetAccessor() { var instance = new ClassWithReferenceType <SimpleReferenceType>(); var value = new SimpleReferenceType(); instance.ImplicitInterfaceScalar = value; _declarationPropertyInformationStub.Stub(stub => stub.GetGetMethod(true)).Return(null); _implementationPropertyInformationStub.Stub(stub => stub.GetGetMethod(true)).Return( MethodInfoAdapter.Create(typeof(ClassWithReferenceType <SimpleReferenceType>).GetProperty("ImplicitInterfaceScalar").GetGetMethod(true))); Assert.That(_interfaceImplementationPropertyInformation.GetValue(instance, null), Is.SameAs(value)); }
public void SetValue() { var instance = new ClassWithReferenceType <SimpleReferenceType>(); var value = new SimpleReferenceType(); _declarationPropertyInformationStub.Stub(stub => stub.GetSetMethod(true)).Return(null); _implementationPropertyInformationStub.Stub(stub => stub.GetSetMethod(true)).Return( MethodInfoAdapter.Create(typeof(ClassWithReferenceType <SimpleReferenceType>).GetProperty("ImplicitInterfaceScalar").GetSetMethod(true))); _mixinIntroducedPropertyInformation.SetValue(instance, value, null); Assert.That(instance.ImplicitInterfaceScalar, Is.SameAs(value)); }