public void GetIdFrom_CalledWhenPropertyIsShadowedAndAggregateRootIsDerived_ExpectValueOfDerivedPropertyIsReturned() { var derivedId = StringGenerator.AnyNonNull(); var aggregateRoot = new AggregateRootWithShadowedId(StringGenerator.AnyNonNull(), derivedId); var getter = new NamedPropertyAggregateRootIdGetter<AggregateRootWithShadowedId, string>(AggregateRootWithShadowedId.PropertyName); getter.GetIdFrom(aggregateRoot).Should().BeSameAs(derivedId); }
public void GetIdFrom_CalledWhenPropertyIsShadowedAndAggregateRootIsBase_ExpectValueOfBasePropertyIsReturned() { var baseId = StringGenerator.AnyNonNull(); var aggregateRoot = new AggregateRootWithShadowedId(baseId, StringGenerator.AnyNonNull()); var getter = new TypedPropertyAggregateRootIdGetter<AggregateRootWithShadowedIdBase, string>(); getter.GetIdFrom(aggregateRoot).Should().BeSameAs(baseId); }