public void SutIsRecursionGuard()
        {
            // Arrange
            // Act
            var sut = new ThrowingRecursionGuard(new DelegatingSpecimenBuilder());

            // Assert
            Assert.IsAssignableFrom <RecursionGuard>(sut);
        }
Beispiel #2
0
        public void SutIsRecursionGuard()
        {
            // Fixture setup
            // Exercise system
            var sut = new ThrowingRecursionGuard(new DelegatingSpecimenBuilder());

            // Verify outcome
            Assert.IsAssignableFrom <RecursionGuard>(sut);
            // Teardown
        }
        public void BuilderIsCorrect()
        {
            // Arrange
            var expectedBuilder = new DelegatingSpecimenBuilder();
            var sut             = new ThrowingRecursionGuard(expectedBuilder);
            // Act
            var result = sut.Builder;

            // Assert
            Assert.Equal(expectedBuilder, result);
        }
Beispiel #4
0
        public void BuilderIsCorrect()
        {
            // Fixture setup
            var expectedBuilder = new DelegatingSpecimenBuilder();
            var sut             = new ThrowingRecursionGuard(expectedBuilder);
            // Exercise system
            var result = sut.Builder;

            // Verify outcome
            Assert.Equal(expectedBuilder, result);
            // Teardown
        }
        public void ComposeRetainsComparer()
        {
            // Arrange
            var dummyBuilder = new DelegatingSpecimenBuilder();
            var expected     = new DelegatingEqualityComparer();
            var sut          = new ThrowingRecursionGuard(dummyBuilder, expected);
            // Act
            var actual = sut.Compose(new ISpecimenBuilder[0]);
            // Assert
            var rg = Assert.IsAssignableFrom <ThrowingRecursionGuard>(actual);

            Assert.Equal(expected, rg.Comparer);
        }
        public void ComposeSingleItemReturnsCorrectResult()
        {
            // Arrange
            var dummyBuilder = new DelegatingSpecimenBuilder();
            var sut          = new ThrowingRecursionGuard(dummyBuilder);
            // Act
            var expected = new DelegatingSpecimenBuilder();
            var actual   = sut.Compose(new[] { expected });
            // Assert
            var rg = Assert.IsAssignableFrom <ThrowingRecursionGuard>(actual);

            Assert.Equal(expected, rg.Builder);
        }
Beispiel #7
0
        public void ComposeRetainsComparer()
        {
            // Fixture setup
            var dummyBuilder = new DelegatingSpecimenBuilder();
            var expected     = new DelegatingEqualityComparer();
            var sut          = new ThrowingRecursionGuard(dummyBuilder, expected);
            // Exercise system
            var actual = sut.Compose(new ISpecimenBuilder[0]);
            // Verify outcome
            var rg = Assert.IsAssignableFrom <ThrowingRecursionGuard>(actual);

            Assert.Equal(expected, rg.Comparer);
            // Teardown
        }
Beispiel #8
0
        public void ComposeSingleItemReturnsCorrectResult()
        {
            // Fixture setup
            var dummyBuilder = new DelegatingSpecimenBuilder();
            var sut          = new ThrowingRecursionGuard(dummyBuilder);
            // Exercise system
            var expected = new DelegatingSpecimenBuilder();
            var actual   = sut.Compose(new[] { expected });
            // Verify outcome
            var rg = Assert.IsAssignableFrom <ThrowingRecursionGuard>(actual);

            Assert.Equal(expected, rg.Builder);
            // Teardown
        }
Beispiel #9
0
        public void ThrowsAtRecursionPoint()
        {
            // Fixture setup
            var builder = new DelegatingSpecimenBuilder();

            builder.OnCreate = (r, c) => c.Resolve(r);
            var sut       = new ThrowingRecursionGuard(builder);
            var container = new DelegatingSpecimenContext();

            container.OnResolve = r => sut.Create(r, container); // Provoke recursion

            // Exercise system
            Assert.Throws(typeof(ObjectCreationException), () => sut.Create(Guid.NewGuid(), container));
        }
        public void ThrowsAtRecursionPoint()
        {
            // Arrange
            var builder = new DelegatingSpecimenBuilder();

            builder.OnCreate = (r, c) => c.Resolve(r);
            var sut       = new ThrowingRecursionGuard(builder);
            var container = new DelegatingSpecimenContext();

            container.OnResolve = r => sut.Create(r, container); // Provoke recursion

            // Act
            Assert.ThrowsAny <ObjectCreationException>(() => sut.Create(Guid.NewGuid(), container));
        }
        public void ComposeReturnsCorrectResult()
        {
            // Arrange
            var dummyBuilder = new DelegatingSpecimenBuilder();
            var sut          = new ThrowingRecursionGuard(dummyBuilder);
            // Act
            var expectedBuilders = new[]
            {
                new DelegatingSpecimenBuilder(),
                new DelegatingSpecimenBuilder(),
                new DelegatingSpecimenBuilder()
            };
            var actual = sut.Compose(expectedBuilders);
            // Assert
            var rg        = Assert.IsAssignableFrom <ThrowingRecursionGuard>(actual);
            var composite = Assert.IsAssignableFrom <CompositeSpecimenBuilder>(rg.Builder);

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

            Assert.True(expectedBuilders.SequenceEqual(composite));
            // Teardown
        }