public void GetContextForMemberShouldReturnContextWithCorrectAccessor([ManifestModel] ValidatorBuilderContext validationContext, ValidatorBuilderContextFactory sut, ValidatedObject obj) { var result = sut.GetContextForMember <ValidatedObject, string>(v => v.AProperty, validationContext); Assert.That(() => ((ManifestValue)result.ManifestValue).AccessorFromParent(obj), Is.EqualTo(obj.AProperty)); }
public void GetContextForMemberShouldReturnContextWithMemberName([Frozen] IStaticallyReflects reflect, [ManifestModel] ValidatorBuilderContext validationContext, ValidatorBuilderContextFactory sut) { Mock.Get(reflect) .Setup(x => x.Member(It.IsAny <Expression <Func <ValidatedObject, string> > >())) .Returns((Expression <Func <ValidatedObject, string> > accessor) => Reflect.Member(accessor)); var result = sut.GetContextForMember <ValidatedObject, string>(v => v.AProperty, validationContext); Assert.That(result.ManifestValue, Has.Property(nameof(ManifestValue.MemberName)).EqualTo(nameof(ValidatedObject.AProperty))); }
public void GetContextForMemberShouldReturnContextWithManifestCollectionItemIfEnumeratingItems([Frozen] IStaticallyReflects reflect, [ManifestModel] ValidatorBuilderContext validationContext, ValidatorBuilderContextFactory sut) { Mock.Get(reflect) .Setup(x => x.Member(It.IsAny <Expression <Func <ValidatedObject, string> > >())) .Returns((Expression <Func <ValidatedObject, string> > accessor) => Reflect.Member(accessor)); var result = sut.GetContextForMember <ValidatedObject, string>(v => v.AProperty, validationContext, true); Assert.That(result.ManifestValue, Is.InstanceOf <ManifestCollectionItem>()); }
public void GetContextForMemberThatAlreadyExistsAsCollectionItemShouldReturnSameManifestValue([Frozen] IStaticallyReflects reflect, [ManifestModel] ValidatorBuilderContext validationContext, ValidatorBuilderContextFactory sut, [ManifestModel] ManifestCollectionItem collectionValue) { Mock.Get(reflect) .Setup(x => x.Member(It.IsAny <Expression <Func <ValidatedObject, string> > >())) .Returns((Expression <Func <ValidatedObject, string> > accessor) => Reflect.Member(accessor)); validationContext.ManifestValue.CollectionItemValue = collectionValue; var result = sut.GetContextForMember <ValidatedObject, IEnumerable <string> >(v => v.Strings, validationContext, true); Assert.That(result.ManifestValue, Is.SameAs(collectionValue)); }
public void GetContextForMemberThatAlreadyExistsShouldReturnSameManifestValue([Frozen] IStaticallyReflects reflect, [ManifestModel] ValidatorBuilderContext validationContext, ValidatorBuilderContextFactory sut, [ManifestModel] ManifestValue aPropertyValue) { Mock.Get(reflect) .Setup(x => x.Member(It.IsAny <Expression <Func <ValidatedObject, string> > >())) .Returns((Expression <Func <ValidatedObject, string> > accessor) => Reflect.Member(accessor)); aPropertyValue.MemberName = nameof(ValidatedObject.AProperty); validationContext.ManifestValue.Children.Add(aPropertyValue); var result = sut.GetContextForMember <ValidatedObject, string>(v => v.AProperty, validationContext); Assert.That(result.ManifestValue, Is.SameAs(aPropertyValue)); }