public void GetOriginalDeclaringType() { Assert.That(_adapter.GetOriginalDeclaringType(), Is.EqualTo(_adapter.DeclaringType)); PropertyInfo propertyInfo = typeof(ClassWithOverridingMember).GetProperty("BaseProperty"); PropertyInfoAdapter overrideAdapter = PropertyInfoAdapter.Create(propertyInfo); Assert.That(overrideAdapter.GetOriginalDeclaringType(), Is.Not.EqualTo(overrideAdapter.DeclaringType)); Assert.That(overrideAdapter.GetOriginalDeclaringType(), Is.EqualTo(overrideAdapter.DeclaringType.BaseType)); Assert.That(overrideAdapter.GetOriginalDeclaringType(), Is.TypeOf <TypeAdapter>().And.Property("Type").SameAs(typeof(ClassWithBaseMember))); }