public void FromQuadrupleParameterFactoryReturnsCorrectResult()
        {
            // Fixture setup
            Func <object, object, object, object, object> expectedFactory = (x, y, z, æ) => new object();
            var expectedComposers = Enumerable.Range(1, 3).Select(i => new DelegatingComposer()).ToArray();
            var initialComposers  = (from c in expectedComposers
                                     select new DelegatingComposer
            {
                OnFromOverloadeFactory = f => f.Equals(expectedFactory) ? c : new DelegatingComposer()
            }).ToArray();
            var sut = new CompositeComposer <object>(initialComposers);
            // Exercise system
            var result = sut.FromFactory(expectedFactory);
            // Verify outcome
            var composite = Assert.IsAssignableFrom <CompositePostprocessComposer <object> >(result);

            Assert.True(expectedComposers.SequenceEqual(composite.Composers));
            // Teardown
        }
        public void FromBuilderFactoryReturnsCorrectResult()
        {
            // Fixture setup
            var expectedFactory   = new DelegatingSpecimenBuilder();
            var expectedComposers = Enumerable.Range(1, 3).Select(i => new DelegatingComposer <Version>()).ToArray();
            var initialComposers  = (from c in expectedComposers
                                     select new DelegatingComposer <Version>
            {
                OnFromBuilder = f => f == expectedFactory ? c : new DelegatingComposer <Version>()
            }).ToArray();
            var sut = new CompositeComposer <Version>(initialComposers);
            // Exercise system
            var result = sut.FromFactory(expectedFactory);
            // Verify outcome
            var composite = Assert.IsAssignableFrom <CompositePostprocessComposer <Version> >(result);

            Assert.True(expectedComposers.SequenceEqual(composite.Composers));
            // Teardown
        }
 public void FromQuadrupleParameterFactoryReturnsCorrectResult()
 {
     // Fixture setup
     Func<object, object, object, object, object> expectedFactory = (x, y, z, æ) => new object();
     var expectedComposers = Enumerable.Range(1, 3).Select(i => new DelegatingComposer()).ToArray();
     var initialComposers = (from c in expectedComposers
                             select new DelegatingComposer
                             {
                                 OnFromOverloadeFactory = f => f.Equals(expectedFactory) ? c : new DelegatingComposer()
                             }).ToArray();
     var sut = new CompositeComposer<object>(initialComposers);
     // Exercise system
     var result = sut.FromFactory(expectedFactory);
     // Verify outcome
     var composite = Assert.IsAssignableFrom<CompositePostprocessComposer<object>>(result);
     Assert.True(expectedComposers.SequenceEqual(composite.Composers));
     // Teardown
 }
 public void FromBuilderFactoryReturnsCorrectResult()
 {
     // Fixture setup
     var expectedFactory = new DelegatingSpecimenBuilder();
     var expectedComposers = Enumerable.Range(1, 3).Select(i => new DelegatingComposer<Version>()).ToArray();
     var initialComposers = (from c in expectedComposers
                             select new DelegatingComposer<Version>
                             {
                                 OnFromBuilder = f => f == expectedFactory ? c : new DelegatingComposer<Version>()
                             }).ToArray();
     var sut = new CompositeComposer<Version>(initialComposers);
     // Exercise system
     var result = sut.FromFactory(expectedFactory);
     // Verify outcome
     var composite = Assert.IsAssignableFrom<CompositePostprocessComposer<Version>>(result);
     Assert.True(expectedComposers.SequenceEqual(composite.Composers));
     // Teardown
 }