Example #1
0
        public void SutIsNode()
        {
            // Arrange
            var dummyBuilder = new DelegatingSpecimenBuilder();
            // Act
            var sut = new NoSpecimenOutputGuard(dummyBuilder);

            // Assert
            Assert.IsAssignableFrom <ISpecimenBuilderNode>(sut);
        }
Example #2
0
        public void SutYieldsDecoratedBuilder()
        {
            // Arrange
            var expected = new DelegatingSpecimenBuilder();
            // Act
            var sut = new NoSpecimenOutputGuard(expected);

            // Assert
            Assert.True(new[] { expected }.SequenceEqual(sut));
            Assert.True(new object[] { expected }.SequenceEqual(((System.Collections.IEnumerable)sut).Cast <object>()));
        }
Example #3
0
        public void SpecificationIsCorrectWhenInitializedWithModestCtor()
        {
            // Arrange
            var dummyBuilder = new DelegatingSpecimenBuilder();
            var sut          = new NoSpecimenOutputGuard(dummyBuilder);
            // Act
            IRequestSpecification result = sut.Specification;

            // Assert
            Assert.IsAssignableFrom <TrueRequestSpecification>(result);
        }
        public void SutIsNode()
        {
            // Fixture setup
            var dummyBuilder = new DelegatingSpecimenBuilder();
            // Exercise system
            var sut = new NoSpecimenOutputGuard(dummyBuilder);

            // Verify outcome
            Assert.IsAssignableFrom <ISpecimenBuilderNode>(sut);
            // Teardown
        }
Example #5
0
        public void BuilderIsCorrectWhenInitializedWithModestCtor()
        {
            // Arrange
            var expectedBuilder = new DelegatingSpecimenBuilder();
            var sut             = new NoSpecimenOutputGuard(expectedBuilder);
            // Act
            ISpecimenBuilder result = sut.Builder;

            // Assert
            Assert.Equal(expectedBuilder, result);
        }
Example #6
0
        public void SpecificationIsCorrectWhenInitializedWithGreedyCtor()
        {
            // Arrange
            var dummyBuilder = new DelegatingSpecimenBuilder();
            var expectedSpec = new DelegatingRequestSpecification();
            var sut          = new NoSpecimenOutputGuard(dummyBuilder, expectedSpec);
            // Act
            var result = sut.Specification;

            // Assert
            Assert.Equal(expectedSpec, result);
        }
        public void SpecificationIsCorrectWhenInitializedWithModestCtor()
        {
            // Fixture setup
            var dummyBuilder = new DelegatingSpecimenBuilder();
            var sut          = new NoSpecimenOutputGuard(dummyBuilder);
            // Exercise system
            IRequestSpecification result = sut.Specification;

            // Verify outcome
            Assert.IsAssignableFrom <TrueRequestSpecification>(result);
            // Teardown
        }
        public void SutYieldsDecoratedBuilder()
        {
            // Fixture setup
            var expected = new DelegatingSpecimenBuilder();
            // Exercise system
            var sut = new NoSpecimenOutputGuard(expected);

            // Verify outcome
            Assert.True(new[] { expected }.SequenceEqual(sut));
            Assert.True(new object[] { expected }.SequenceEqual(((System.Collections.IEnumerable)sut).Cast <object>()));
            // Teardown
        }
        public void BuilderIsCorrectWhenInitializedWithModestCtor()
        {
            // Fixture setup
            var expectedBuilder = new DelegatingSpecimenBuilder();
            var sut             = new NoSpecimenOutputGuard(expectedBuilder);
            // Exercise system
            ISpecimenBuilder result = sut.Builder;

            // Verify outcome
            Assert.Equal(expectedBuilder, result);
            // Teardown
        }
        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
        }
Example #11
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);
        }
Example #12
0
        public void ComposeSingleItemReturnsCorrectResult()
        {
            // Arrange
            var dummyBuilder = new DelegatingSpecimenBuilder();
            var sut          = new NoSpecimenOutputGuard(dummyBuilder);
            // Act
            var expected = new DelegatingSpecimenBuilder();
            var actual   = sut.Compose(new[] { expected });
            // Assert
            var g = Assert.IsAssignableFrom <NoSpecimenOutputGuard>(actual);

            Assert.Equal(expected, g.Builder);
        }
        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
        }
        public void ComposeSingleItemReturnsCorrectResult()
        {
            // Fixture setup
            var dummyBuilder = new DelegatingSpecimenBuilder();
            var sut          = new NoSpecimenOutputGuard(dummyBuilder);
            // Exercise system
            var expected = new DelegatingSpecimenBuilder();
            var actual   = sut.Compose(new[] { expected });
            // Verify outcome
            var g = Assert.IsAssignableFrom <NoSpecimenOutputGuard>(actual);

            Assert.Equal(expected, g.Builder);
            // Teardown
        }
Example #15
0
        public void CreateThrowsWhenDecoratedBuilderReturnsNoSpecimen()
        {
            // Arrange
            var builder = new DelegatingSpecimenBuilder {
                OnCreate = (r, c) => new NoSpecimen()
            };
            var sut = new NoSpecimenOutputGuard(builder);
            // Act & assert
            var dummyRequest = new object();
            var dummyContext = new DelegatingSpecimenContext();

            Assert.Throws <ObjectCreationException>(() =>
                                                    sut.Create(dummyRequest, dummyContext));
        }
        public void CreateThrowsWhenDecoratedBuilderReturnsNoSpecimen()
        {
            // Fixture setup
            var builder = new DelegatingSpecimenBuilder {
                OnCreate = (r, c) => new NoSpecimen()
            };
            var sut = new NoSpecimenOutputGuard(builder);
            // Exercise system and verify outcome
            var dummyRequest = new object();
            var dummyContext = new DelegatingSpecimenContext();

            Assert.Throws <ObjectCreationException>(() =>
                                                    sut.Create(dummyRequest, dummyContext));
            // Teardown
        }
Example #17
0
        public void CreateReturnsCorrectResult()
        {
            // Arrange
            var request        = new object();
            var context        = new DelegatingSpecimenContext();
            var expectedResult = new object();
            var builder        = new DelegatingSpecimenBuilder {
                OnCreate = (r, c) => r == request && c == context ? expectedResult : new NoSpecimen()
            };

            var sut = new NoSpecimenOutputGuard(builder);
            // Act
            var result = sut.Create(request, context);

            // Assert
            Assert.Equal(expectedResult, result);
        }
        public void CreateReturnsCorrectResult()
        {
            // Fixture setup
            var request        = new object();
            var context        = new DelegatingSpecimenContext();
            var expectedResult = new object();
            var builder        = new DelegatingSpecimenBuilder {
                OnCreate = (r, c) => r == request && c == context ? expectedResult : new NoSpecimen()
            };

            var sut = new NoSpecimenOutputGuard(builder);
            // Exercise system
            var result = sut.Create(request, context);

            // Verify outcome
            Assert.Equal(expectedResult, result);
            // Teardown
        }
Example #19
0
        public void ComposeReturnsCorrectResult()
        {
            // Arrange
            var dummyBuilder = new DelegatingSpecimenBuilder();
            var sut          = new NoSpecimenOutputGuard(dummyBuilder);
            // Act
            var expectedBuilders = new[]
            {
                new DelegatingSpecimenBuilder(),
                new DelegatingSpecimenBuilder(),
                new DelegatingSpecimenBuilder()
            };
            var actual = sut.Compose(expectedBuilders);
            // Assert
            var g         = Assert.IsAssignableFrom <NoSpecimenOutputGuard>(actual);
            var composite = Assert.IsAssignableFrom <CompositeSpecimenBuilder>(g.Builder);

            Assert.True(expectedBuilders.SequenceEqual(composite));
        }
        public void ComposeReturnsCorrectResult()
        {
            // Fixture setup
            var dummyBuilder = new DelegatingSpecimenBuilder();
            var sut          = new NoSpecimenOutputGuard(dummyBuilder);
            // Exercise system
            var expectedBuilders = new[]
            {
                new DelegatingSpecimenBuilder(),
                new DelegatingSpecimenBuilder(),
                new DelegatingSpecimenBuilder()
            };
            var actual = sut.Compose(expectedBuilders);
            // Verify outcome
            var g         = Assert.IsAssignableFrom <NoSpecimenOutputGuard>(actual);
            var composite = Assert.IsAssignableFrom <CompositeSpecimenBuilder>(g.Builder);

            Assert.True(expectedBuilders.SequenceEqual(composite));
            // Teardown
        }
Example #21
0
        public void CreateDoesNotThrowOnReturnedNoSpecimenWhenSpecificationReturnsFalse()
        {
            // Arrange
            var request = new object();

            var builder = new DelegatingSpecimenBuilder {
                OnCreate = (r, c) => new NoSpecimen()
            };
            var spec = new DelegatingRequestSpecification {
                OnIsSatisfiedBy = r => request == r ? false : true
            };
            var sut = new NoSpecimenOutputGuard(builder, spec);
            // Act
            var dummyContext = new DelegatingSpecimenContext();
            var result       = sut.Create(request, dummyContext);
            // Assert
            var expectedResult = new NoSpecimen();

            Assert.Equal(expectedResult, result);
        }
        public void CreateDoesNotThrowOnReturnedNoSpecimenWhenSpecificationReturnsFalse()
        {
            // Fixture setup
            var request = new object();

            var builder = new DelegatingSpecimenBuilder {
                OnCreate = (r, c) => new NoSpecimen(r)
            };
            var spec = new DelegatingRequestSpecification {
                OnIsSatisfiedBy = r => request == r ? false : true
            };
            var sut = new NoSpecimenOutputGuard(builder, spec);
            // Exercise system
            var dummyContext = new DelegatingSpecimenContext();
            var result       = sut.Create(request, dummyContext);
            // Verify outcome
            var expectedResult = new NoSpecimen(request);

            Assert.Equal(expectedResult, result);
            // Teardown
        }