コード例 #1
0
ファイル: OmitterTests.cs プロジェクト: wertzui/AutoFixture
        public void SpecificationMatchesConstructorArgument()
        {
            // Fixture setup
            var expected = new DelegatingRequestSpecification();
            var sut      = new Omitter(expected);
            // Exercise system
            IRequestSpecification actual = sut.Specification;

            // Verify outcome
            Assert.Equal(expected, actual);
            // Teardown
        }
コード例 #2
0
        public void BuilderIsCorrect()
        {
            // Arrange
            var expectedBuilder    = new DelegatingSpecimenBuilder();
            var dummySpecification = new DelegatingRequestSpecification();
            var sut = new FilteringSpecimenBuilder(expectedBuilder, dummySpecification);
            // Act
            ISpecimenBuilder result = sut.Builder;

            // Assert
            Assert.Equal(expectedBuilder, result);
        }
コード例 #3
0
        public void SutIsNode()
        {
            // Fixture setup
            var dummyBuilder       = new DelegatingSpecimenBuilder();
            var dummySpecification = new DelegatingRequestSpecification();
            // Exercise system
            var sut = new FilteringSpecimenBuilder(dummyBuilder, dummySpecification);

            // Verify outcome
            Assert.IsAssignableFrom <ISpecimenBuilderNode>(sut);
            // Teardown
        }
コード例 #4
0
        public void SpecificationIsCorrect()
        {
            // Arrange
            var dummyBuilder          = new DelegatingSpecimenBuilder();
            var expectedSpecification = new DelegatingRequestSpecification();
            var sut = new FilteringSpecimenBuilder(dummyBuilder, expectedSpecification);
            // Act
            IRequestSpecification result = sut.Specification;

            // Assert
            Assert.Equal(expectedSpecification, result);
        }
コード例 #5
0
        public void SutYieldsDecoratedBuilder()
        {
            // Arrange
            var expected           = new DelegatingSpecimenBuilder();
            var dummySpecification = new DelegatingRequestSpecification();
            // Act
            var sut = new FilteringSpecimenBuilder(expected, dummySpecification);

            // Assert
            Assert.True(new[] { expected }.SequenceEqual(sut));
            Assert.True(new object[] { expected }.SequenceEqual(((System.Collections.IEnumerable)sut).Cast <object>()));
        }
コード例 #6
0
        public void ComposePreservesSpecification()
        {
            // Arrange
            var dummyBuilder = new DelegatingSpecimenBuilder();
            var expected     = new DelegatingRequestSpecification();
            var sut          = new NoSpecimenOutputGuard(dummyBuilder, expected);
            // Act
            var actual = sut.Compose(new ISpecimenBuilder[0]);
            // Assert
            var g = Assert.IsAssignableFrom <NoSpecimenOutputGuard>(actual);

            Assert.Equal(expected, g.Specification);
        }
コード例 #7
0
        public void SpecificationIsCorrect()
        {
            // Fixture setup
            var dummyBuilder          = new DelegatingSpecimenBuilder();
            var expectedSpecification = new DelegatingRequestSpecification();
            var sut = new FilteringSpecimenBuilder(dummyBuilder, expectedSpecification);
            // Exercise system
            IRequestSpecification result = sut.Specification;

            // Verify outcome
            Assert.Equal(expectedSpecification, result);
            // Teardown
        }
コード例 #8
0
        public void BuilderIsCorrectWhenInitializedWithGreedyCtor()
        {
            // Fixture setup
            var expectedBuilder = new DelegatingSpecimenBuilder();
            var dummySpec       = new DelegatingRequestSpecification();
            var sut             = new NoSpecimenOutputGuard(expectedBuilder, dummySpec);
            // Exercise system
            var result = sut.Builder;

            // Verify outcome
            Assert.Equal(expectedBuilder, result);
            // Teardown
        }
コード例 #9
0
        public void SutYieldsDecoratedBuilder()
        {
            // Fixture setup
            var expected           = new DelegatingSpecimenBuilder();
            var dummySpecification = new DelegatingRequestSpecification();
            // Exercise system
            var sut = new FilteringSpecimenBuilder(expected, dummySpecification);

            // Verify outcome
            Assert.True(new[] { expected }.SequenceEqual(sut));
            Assert.True(new object[] { expected }.SequenceEqual(((System.Collections.IEnumerable)sut).Cast <object>()));
            // Teardown
        }
コード例 #10
0
        public void FilterIsProperWritableProperty()
        {
            // Arrange
            var sut = new DelegatingTracingBuilder();
            IRequestSpecification expectedFilter = new DelegatingRequestSpecification();

            // Act
            sut.Filter = expectedFilter;
            IRequestSpecification result = sut.Filter;

            // Assert
            Assert.Equal(expectedFilter, result);
        }
コード例 #11
0
        public void InitializeDoubleActionAndSpecificationWithNullActionThrows()
        {
            // Arrange
            var dummyBuilder = new DelegatingSpecimenBuilder();
            var dummySpec    = new DelegatingRequestSpecification();

            // Act & assert
            Assert.Throws <ArgumentNullException>(() =>
                                                  new Postprocessor <object>(
                                                      dummyBuilder,
                                                      (Action <object, ISpecimenContext>)null,
                                                      dummySpec));
        }
コード例 #12
0
        public void ComposeSingleItemReturnsCorrectResult()
        {
            // Arrange
            var dummyBuilder       = new DelegatingSpecimenBuilder();
            var dummySpecification = new DelegatingRequestSpecification();
            var sut = new FilteringSpecimenBuilder(dummyBuilder, dummySpecification);
            // Act
            var expected = new DelegatingSpecimenBuilder();
            var actual   = sut.Compose(new[] { expected });
            // Assert
            var f = Assert.IsAssignableFrom <FilteringSpecimenBuilder>(actual);

            Assert.Equal(expected, f.Builder);
        }
コード例 #13
0
        public void FilterIsProperWritableProperty()
        {
            // Fixture setup
            var sut = new DelegatingTracingBuilder();
            IRequestSpecification expectedFilter = new DelegatingRequestSpecification();

            // Exercise system
            sut.Filter = expectedFilter;
            IRequestSpecification result = sut.Filter;

            // Verify outcome
            Assert.Equal(expectedFilter, result);
            // Teardown
        }
コード例 #14
0
        public void InitializeDoubleActionAndSpecificationWithNullActionThrows()
        {
            // Fixture setup
            var dummyBuilder = new DelegatingSpecimenBuilder();
            var dummySpec    = new DelegatingRequestSpecification();

            // Exercise system and verify outcome
            Assert.Throws <ArgumentNullException>(() =>
                                                  new Postprocessor <object>(
                                                      dummyBuilder,
                                                      (Action <object, ISpecimenContext>)null,
                                                      dummySpec));
            // Teardown
        }
コード例 #15
0
        public void IsSatisfiedByReturnsCorrectResult(bool decoratedResult)
        {
            // Arrange
            var spec = new DelegatingRequestSpecification {
                OnIsSatisfiedBy = r => decoratedResult
            };
            var sut = new InverseRequestSpecification(spec);
            // Act
            var dummyRequest = new object();
            var result       = sut.IsSatisfiedBy(dummyRequest);

            // Assert
            Assert.Equal(!decoratedResult, result);
        }
コード例 #16
0
        public void ComposePreservesSpecification()
        {
            // Fixture setup
            var dummyBuilder = new DelegatingSpecimenBuilder();
            var expected     = new DelegatingRequestSpecification();
            var sut          = new NoSpecimenOutputGuard(dummyBuilder, expected);
            // Exercise system
            var actual = sut.Compose(new ISpecimenBuilder[0]);
            // Verify outcome
            var g = Assert.IsAssignableFrom <NoSpecimenOutputGuard>(actual);

            Assert.Equal(expected, g.Specification);
            // Teardown
        }
コード例 #17
0
        public void SpecificationIsCorrectWhenConstructedFullyNonGenerically()
        {
            // Arrange
            var dummyBuilder = new DelegatingSpecimenBuilder();
            var dummyCommand = new DelegatingSpecimenCommand();
            var expected     = new DelegatingRequestSpecification();

            var sut = new Postprocessor(dummyBuilder, dummyCommand, expected);
            // Act
            var actual = sut.Specification;

            // Assert
            Assert.Equal(expected, actual);
        }
コード例 #18
0
        public void SpecificationIsCorrect()
        {
            // Arrange
            var dummyBuilder = new DelegatingSpecimenBuilder();
            Action <object, ISpecimenContext> dummyAction = (s, c) => { };
            var expectedSpec = new DelegatingRequestSpecification();

            var sut = new Postprocessor <object>(dummyBuilder, dummyAction, expectedSpec);
            // Act
            IRequestSpecification result = sut.Specification;

            // Assert
            Assert.Equal(expectedSpec, result);
        }
コード例 #19
0
        public void ComposePreservesSpecification()
        {
            // Arrange
            var expected     = new DelegatingRequestSpecification();
            var dummyCommand = new DelegatingSpecimenCommand();
            var dummyBuilder = new DelegatingSpecimenBuilder();
            var sut          = new Postprocessor <Version>(dummyBuilder, dummyCommand, expected);
            // Act
            var actual = sut.Compose(new ISpecimenBuilder[0]);
            // Assert
            var pp = Assert.IsAssignableFrom <Postprocessor <Version> >(actual);

            Assert.Equal(expected, pp.Specification);
        }
コード例 #20
0
        public void SpecificationIsCorrect()
        {
            // Fixture setup
            var dummyBuilder = new DelegatingSpecimenBuilder();
            Action <object, ISpecimenContext> dummyAction = (s, c) => { };
            var expectedSpec = new DelegatingRequestSpecification();

            var sut = new Postprocessor <object>(dummyBuilder, dummyAction, expectedSpec);
            // Exercise system
            IRequestSpecification result = sut.Specification;

            // Verify outcome
            Assert.Equal(expectedSpec, result);
            // Teardown
        }
コード例 #21
0
        public void IsSatisfiedByReturnsCorrectResult(bool decoratedResult)
        {
            // Fixture setup
            var spec = new DelegatingRequestSpecification {
                OnIsSatisfiedBy = r => decoratedResult
            };
            var sut = new InverseRequestSpecification(spec);
            // Exercise system
            var dummyRequest = new object();
            var result       = sut.IsSatisfiedBy(dummyRequest);

            // Verify outcome
            Assert.Equal(!decoratedResult, result);
            // Teardown
        }
コード例 #22
0
        public void ComposePreservesSpecification()
        {
            // Fixture setup
            var expected     = new DelegatingRequestSpecification();
            var dummyCommand = new DelegatingSpecimenCommand();
            var dummyBuilder = new DelegatingSpecimenBuilder();
            var sut          = new Postprocessor <Version>(dummyBuilder, dummyCommand, expected);
            // Exercise system
            var actual = sut.Compose(new ISpecimenBuilder[0]);
            // Verify outcome
            var pp = Assert.IsAssignableFrom <Postprocessor <Version> >(actual);

            Assert.Equal(expected, pp.Specification);
            // Teardown
        }
コード例 #23
0
        public void SpecificationIsCorrectWhenConstructedFullyNonGenerically()
        {
            // Fixture setup
            var dummyBuilder = new DelegatingSpecimenBuilder();
            var dummyCommand = new DelegatingSpecimenCommand();
            var expected     = new DelegatingRequestSpecification();

            var sut = new Postprocessor(dummyBuilder, dummyCommand, expected);
            // Exercise system
            var actual = sut.Specification;

            // Verify outcome
            Assert.Equal(expected, actual);
            // Teardown
        }
コード例 #24
0
        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");
        }
コード例 #25
0
        public void ComposeSingleItemReturnsCorrectResult()
        {
            // Fixture setup
            var dummyBuilder       = new DelegatingSpecimenBuilder();
            var dummySpecification = new DelegatingRequestSpecification();
            var sut = new FilteringSpecimenBuilder(dummyBuilder, dummySpecification);
            // Exercise system
            var expected = new DelegatingSpecimenBuilder();
            var actual   = sut.Compose(new[] { expected });
            // Verify outcome
            var f = Assert.IsAssignableFrom <FilteringSpecimenBuilder>(actual);

            Assert.Equal(expected, f.Builder);
            // Teardown
        }
コード例 #26
0
        public void IsSatisfiedByInvokesDecoratedSpecWithCorrectRequest()
        {
            // Arrange
            var expectedRequest = new object();
            var verified        = false;
            var mock            = new DelegatingRequestSpecification {
                OnIsSatisfiedBy = r => verified = expectedRequest == r
            };
            var sut = new InverseRequestSpecification(mock);

            // Act
            sut.IsSatisfiedBy(expectedRequest);
            // Assert
            Assert.True(verified, "Mock verified");
        }
コード例 #27
0
        public void IsSatisfiedByFilteredFieldInfoReturnsCorrectResult()
        {
            // Arrange
            var spec = new DelegatingRequestSpecification {
                OnIsSatisfiedBy = r => false
            };
            var sut     = new AutoPropertiesCommand <FieldHolder <object> >(spec);
            var request = typeof(FieldHolder <object>).GetField("Field");

            // Act
#pragma warning disable 618
            var result = sut.IsSatisfiedBy(request);
#pragma warning restore 618
            // Assert
            Assert.False(result);
        }
コード例 #28
0
        public void CreateWhenSpecificationMatchesRequestReturnsCorrectResult()
        {
            // Arrange
            var request       = new object();
            var specification = new DelegatingRequestSpecification
            {
                OnIsSatisfiedBy = request.Equals
            };
            var sut = new Omitter(specification);
            // Act
            var dummyContext = new DelegatingSpecimenContext();
            var actual       = sut.Create(request, dummyContext);

            // Assert
            Assert.IsAssignableFrom <OmitSpecimen>(actual);
        }
コード例 #29
0
        public void IsSatisfiedByPassesRequestToDecoratedSpecification()
        {
            // Fixture setup
            var expectedRequest = new object();
            var verified        = false;
            var specMock        = new DelegatingRequestSpecification {
                OnIsSatisfiedBy = r => verified = expectedRequest == r
            };
            var sut = new OrRequestSpecification(specMock);

            // Exercise system
            sut.IsSatisfiedBy(expectedRequest);
            // Verify outcome
            Assert.True(verified, "Mock verified");
            // Teardown
        }
コード例 #30
0
        public void IsSatisfiedByInvokesDecoratedSpecWithCorrectRequest()
        {
            // Fixture setup
            var expectedRequest = new object();
            var verified        = false;
            var mock            = new DelegatingRequestSpecification {
                OnIsSatisfiedBy = r => verified = expectedRequest == r
            };
            var sut = new InverseRequestSpecification(mock);

            // Exercise system
            sut.IsSatisfiedBy(expectedRequest);
            // Verify outcome
            Assert.True(verified, "Mock verified");
            // Teardown
        }