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))); }
/// <summary> /// Initialises a new instance of <see cref="ValidatorBuilderContextFactory"/>. /// </summary> /// <param name="reflect">A service which provides static reflection.</param> public ValidatorBuilderContextFactory(IStaticallyReflects reflect) { this.reflect = reflect ?? throw new ArgumentNullException(nameof(reflect)); }
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)); }
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)); }