public void SutIsRequestSpecification() { // Arrange // Act var sut = new AndRequestSpecification(); // Assert Assert.IsAssignableFrom <IRequestSpecification>(sut); }
public void SutIsRequestSpecification() { // Fixture setup // Exercise system var sut = new AndRequestSpecification(); // Verify outcome Assert.IsAssignableFrom <IRequestSpecification>(sut); // Teardown }
public void SpecificationsMatchesConstructorSpecifications() { // Arrange var expectedSpecifications = new[] { new DelegatingRequestSpecification(), new DelegatingRequestSpecification(), new DelegatingRequestSpecification() }; var sut = new AndRequestSpecification(expectedSpecifications.Cast <IRequestSpecification>()); // Act IEnumerable <IRequestSpecification> result = sut.Specifications; // Assert Assert.True(expectedSpecifications.SequenceEqual(result)); }
public void SpecificationsMatchesConstructorSpecifications() { // Fixture setup var expectedSpecifications = new[] { new DelegatingRequestSpecification(), new DelegatingRequestSpecification(), new DelegatingRequestSpecification() }; var sut = new AndRequestSpecification(expectedSpecifications.Cast <IRequestSpecification>()); // Exercise system IEnumerable <IRequestSpecification> result = sut.Specifications; // Verify outcome Assert.True(expectedSpecifications.SequenceEqual(result)); // Teardown }
public void IsSatisfiedByPassesRequestToDecoratedSpecification() { // Arrange var expectedRequest = new object(); var verified = false; var specMock = new DelegatingRequestSpecification { OnIsSatisfiedBy = r => verified = expectedRequest == r }; var sut = new AndRequestSpecification(specMock); // Act sut.IsSatisfiedBy(expectedRequest); // Assert Assert.True(verified, "Mock verified"); }
public void IsSatisfiedByReturnsCorrectResult(bool expectedResult, IEnumerable <bool> decoratedResults) { // Arrange var decoratedSpecs = from b in decoratedResults select new DelegatingRequestSpecification { OnIsSatisfiedBy = r => b }; var sut = new AndRequestSpecification(decoratedSpecs.Cast <IRequestSpecification>()); // Act var dummyRequest = new object(); var result = sut.IsSatisfiedBy(dummyRequest); // Assert Assert.Equal(expectedResult, result); }
public void IsSatisfiedByPassesRequestToDecoratedSpecification() { // Fixture setup var expectedRequest = new object(); var verified = false; var specMock = new DelegatingRequestSpecification { OnIsSatisfiedBy = r => verified = expectedRequest == r }; var sut = new AndRequestSpecification(specMock); // Exercise system sut.IsSatisfiedBy(expectedRequest); // Verify outcome Assert.True(verified, "Mock verified"); // Teardown }
public void IsSatisfiedByReturnsCorrectResult(bool expectedResult, IEnumerable <bool> decoratedResults) { // Fixture setup var decoratedSpecs = from b in decoratedResults select new DelegatingRequestSpecification { OnIsSatisfiedBy = r => b }; var sut = new AndRequestSpecification(decoratedSpecs.Cast <IRequestSpecification>()); // Exercise system var dummyRequest = new object(); var result = sut.IsSatisfiedBy(dummyRequest); // Verify outcome Assert.Equal(expectedResult, result); // Teardown }
/// <summary> /// Adjusts the AutoProperties postprocessor and changes rule to avoid the specified member population. /// If AutoProperties node is missing, nothing is done. /// </summary> private static ISpecimenBuilderNode ExcludeMemberFromAutoProperties(MemberInfo member, ISpecimenBuilderNode graph) { var autoPropertiesNode = FindAutoPropertiesNode(graph); if (autoPropertiesNode == null) { return(graph); } var currentSpecification = ((AutoPropertiesCommand)autoPropertiesNode.Command).Specification; var newRule = new InverseRequestSpecification( new EqualRequestSpecification( member, new MemberInfoEqualityComparer())); // Try to make specification list flat if possible IRequestSpecification specification; if (currentSpecification is TrueRequestSpecification) { specification = newRule; } else if (currentSpecification is AndRequestSpecification andSpec) { specification = new AndRequestSpecification(andSpec.Specifications.Concat(new[] { newRule })); } else { specification = new AndRequestSpecification(currentSpecification, newRule); } return(graph.ReplaceNodes( with: _ => new Postprocessor( autoPropertiesNode.Builder, new AutoPropertiesCommand(typeof(T), specification), autoPropertiesNode.Specification), when: autoPropertiesNode.Equals)); }