public virtual void Test()
        {
            MethodCallRecorder    recorder = new MethodCallRecorder();
            CompositeTestListener listener = new CompositeTestListener(new CompositeTestListenerTestCase.ListenerRecorder
                                                                           ("first", recorder), new CompositeTestListenerTestCase.ListenerRecorder("second"
                                                                                                                                                   , recorder));
            RunsGreen test    = new RunsGreen();
            Exception failure = new Exception();

            listener.RunStarted();
            listener.TestStarted(test);
            listener.TestFailed(test, failure);
            listener.RunFinished();
            recorder.Verify(new MethodCall[] { Call("first.runStarted"), Call("second.runStarted"
                                                                              ), Call("first.testStarted", test), Call("second.testStarted", test), Call("first.testFailed"
                                                                                                                                                         , test, failure), Call("second.testFailed", test, failure), Call("first.runFinished"
                                                                                                                                                                                                                          ), Call("second.runFinished") });
        }
 public virtual void Test()
 {
     var recorder = new MethodCallRecorder();
     var listener = new CompositeTestListener(new ListenerRecorder
         ("first", recorder), new ListenerRecorder("second"
             , recorder));
     var test = new RunsGreen();
     var failure = new Exception();
     listener.RunStarted();
     listener.TestStarted(test);
     listener.TestFailed(test, failure);
     listener.RunFinished();
     recorder.Verify(new[]
     {
         Call("first.runStarted"), Call("second.runStarted"
             ),
         Call("first.testStarted", test), Call("second.testStarted", test), Call("first.testFailed"
             , test, failure),
         Call("second.testFailed", test, failure), Call("first.runFinished"
             ),
         Call("second.runFinished")
     });
 }