public void FromSeedReturnsCorrectResult()
        {
            // Fixture setup
            Func <string, string> expectedFactory = s => s;
            var expectedComposers = Enumerable.Range(1, 3).Select(i => new DelegatingComposer <string>()).ToArray();
            var initialComposers  = (from c in expectedComposers
                                     select new DelegatingComposer <string>
            {
                OnFromSeed = f => f == expectedFactory ? c : new DelegatingComposer <string>()
            }).ToArray();
            var sut = new CompositeComposer <string>(initialComposers);
            // Exercise system
            var result = sut.FromSeed(expectedFactory);
            // Verify outcome
            var composite = Assert.IsAssignableFrom <CompositePostprocessComposer <string> >(result);

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