public void FindPropertyInfos_WithDiamondShapedInheritance() { MixinPropertyFinder propertyFinder = CreatePropertyFinder(typeof(DiamondTarget), false); Assert.That(propertyFinder.FindPropertyInfosOnMixins().ToArray(), Is.EquivalentTo( new[] { GetProperty(typeof(DiamondBase), "PBase"), })); }
public void FindPropertyInfos_ForDerivedMixinNotOnBase() { MixinPropertyFinder propertyFinder = CreatePropertyFinder(typeof(TargetClassC), false); Assert.That(propertyFinder.FindPropertyInfosOnMixins().ToArray(), Is.EquivalentTo( new [] { GetProperty(typeof(DerivedMixinNotOnBase), "DerivedMixinProperty"), GetProperty(typeof(MixinNotOnBase), "MixinProperty"), })); }
public void FindPropertyInfos_ForDerived() { MixinPropertyFinder propertyFinder = CreatePropertyFinder(typeof(TargetClassB), false); Assert.That(propertyFinder.FindPropertyInfosOnMixins().ToArray(), Is.EquivalentTo( new [] { GetProperty(typeof(MixinB), "P6"), GetProperty(typeof(MixinE), "P9"), })); }
public void FindPropertyInfos_IncludeBasePropertiesFalse() { MixinPropertyFinder propertyFinder = CreatePropertyFinder(typeof(TargetClassA), false); Assert.That(propertyFinder.FindPropertyInfosOnMixins().ToArray(), Is.EquivalentTo( new[] { GetProperty(typeof(MixinA), "P5"), GetProperty(typeof(MixinC), "P7"), GetProperty(typeof(MixinD), "P8"), })); }
public void FindPropertyInfos_ForMixinAppliedAboveInheritanceRoot() { MixinPropertyFinder propertyFinder = CreatePropertyFinder(typeof(InheritanceRootInheritingPersistentMixin), true); Assert.That( propertyFinder.FindPropertyInfosOnMixins().ToArray(), Is.EquivalentTo( new[] { GetProperty(typeof(MixinAddingPersistentPropertiesAboveInheritanceRoot), "PersistentProperty"), GetProperty(typeof(MixinAddingPersistentPropertiesAboveInheritanceRoot), "PersistentRelationProperty") })); }