public void ComposeSingleItemReturnsCorrectResult()
        {
            // Arrange
            var builder = new DelegatingSpecimenBuilder();
            var sut     = new TerminatingWithPathSpecimenBuilder(builder);
            // Act
            var expected = new DelegatingSpecimenBuilder();
            var actual   = sut.Compose(new[] { expected });
            // Assert
            var tw = Assert.IsAssignableFrom <TerminatingWithPathSpecimenBuilder>(actual);

            Assert.Equal(expected, tw.Builder);
        }
        public void ComposeSingleItemReturnsCorrectResult()
        {
            // Fixture setup
            var tracer = new DelegatingTracingBuilder();
            var sut    = new TerminatingWithPathSpecimenBuilder(tracer);
            // Exercise system
            var expected = new DelegatingSpecimenBuilder();
            var actual   = sut.Compose(new[] { expected });
            // Verify outcome
            var tw = Assert.IsAssignableFrom <TerminatingWithPathSpecimenBuilder>(actual);

            Assert.Equal(expected, tw.Tracer.Builder);
            // Teardown
        }
        public void ComposeReturnsCorrectResult()
        {
            // Arrange
            var builder = new DelegatingSpecimenBuilder();
            var sut     = new TerminatingWithPathSpecimenBuilder(builder);
            // Act
            var expectedBuilders = new[]
            {
                new DelegatingSpecimenBuilder(),
                new DelegatingSpecimenBuilder(),
                new DelegatingSpecimenBuilder()
            };
            var actual = sut.Compose(expectedBuilders);
            // Assert
            var tw        = Assert.IsAssignableFrom <TerminatingWithPathSpecimenBuilder>(actual);
            var composite = Assert.IsAssignableFrom <CompositeSpecimenBuilder>(tw.Builder);

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

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