public void Should_Add_AsModelsCollectionRule_When_AsModelsCollection_And_Collection(Specification <MemberClass> itemSpecification) { var builder = new MemberSpecificationBuilder <object, Collection <MemberClass> >(); builder.AsModelsCollection(itemSpecification); AssertCollectionRuleAdded(builder.Commands, itemSpecification); }
public void Should_Add_AsCollectionRule_With_AsModelRuleForItems_When_AsModelsCollection_And_SpecificationFromRepository() { var builder = new MemberSpecificationBuilder <object, IEnumerable <MemberClass> >(); builder.AsModelsCollection <object, IEnumerable <MemberClass>, MemberClass>(); Assert.Single(builder.Commands); Assert.IsType <AsCollectionRule <object, MemberClass> >(builder.Commands.Single()); var command = (AsCollectionRule <object, MemberClass>)builder.Commands.Single(); Assert.Equal("AsCollection", command.Name); Assert.Null(command.RuleSingleError); Assert.NotNull(command.MemberValidator); Assert.NotNull(command.ItemSpecification); Assert.False(command.MemberValidator.IsOptional); Assert.Null(((AsModelRule <MemberClass>)command.MemberValidator.Rules.Single()).Specification); Assert.Null(((AsModelRule <MemberClass>)command.MemberValidator.Rules.Single()).SpecificationId); }
public void Should_Add_AsCollectionRule_With_AsModelRuleForItems_When_AsModelsCollection_And_SpecificationDefined() { var builder = new MemberSpecificationBuilder <object, IEnumerable <MemberClass> >(); var itemModelSpecification = new Specification <MemberClass>(x => x); builder.AsModelsCollection <object, IEnumerable <MemberClass>, MemberClass>(itemModelSpecification); Assert.Single(builder.Commands); Assert.IsType <AsCollectionRule <object, MemberClass> >(builder.Commands.Single()); var command = (AsCollectionRule <object, MemberClass>)builder.Commands.Single(); Assert.Equal("AsCollection", command.Name); Assert.Null(command.RuleSingleError); Assert.NotNull(command.ItemSpecification); Assert.False(command.MemberValidator.IsOptional); Assert.Same(itemModelSpecification, ((AsModelRule <MemberClass>)command.MemberValidator.Rules.Single()).Specification); Assert.Equal(itemModelSpecification.GetHashCode().ToString(), ((AsModelRule <MemberClass>)command.MemberValidator.Rules.Single()).SpecificationId); }