public void DoReturnsCorrectResult()
 {
     // Fixture setup
     Action<object> expectedAction = s => { };
     var expectedComposers = Enumerable.Range(1, 3).Select(i => new DelegatingComposer<object>()).ToArray();
     var initialComposers = (from c in expectedComposers
                             select new DelegatingComposer
                             {
                                 OnDo = a => a == expectedAction ? c : new DelegatingComposer<object>()
                             }).ToArray();
     var sut = new CompositeComposer<object>(initialComposers);
     // Exercise system
     var result = sut.Do(expectedAction);
     // Verify outcome
     var composite = Assert.IsAssignableFrom<CompositePostprocessComposer<object>>(result);
     Assert.True(expectedComposers.SequenceEqual(composite.Composers));
     // Teardown
 }
        public void DoReturnsCorrectResult()
        {
            // Fixture setup
            Action <object> expectedAction    = s => { };
            var             expectedComposers = Enumerable.Range(1, 3).Select(i => new DelegatingComposer <object>()).ToArray();
            var             initialComposers  = (from c in expectedComposers
                                                 select new DelegatingComposer
            {
                OnDo = a => a == expectedAction ? c : new DelegatingComposer <object>()
            }).ToArray();
            var sut = new CompositeComposer <object>(initialComposers);
            // Exercise system
            var result = sut.Do(expectedAction);
            // Verify outcome
            var composite = Assert.IsAssignableFrom <CompositePostprocessComposer <object> >(result);

            Assert.True(expectedComposers.SequenceEqual(composite.Composers));
            // Teardown
        }