private BcrReportRunner(
     ILogging log,
     IBcrReader reader,
     IBcrMiddleware middleware,
     IBcrWriter writer,
     IPathProvider pathProvider)
     : this(log, reader, middleware, writer, pathProvider, Console.Out)
 {
 }
 public BcrReportRunner(
     ILogging log,
     IBcrReader reader,
     IBcrMiddleware middleware,
     IBcrWriter writer,
     IPathProvider pathProvider,
     TextWriter progress)
 {
     _log          = log;
     _reader       = reader;
     _middleware   = middleware;
     _writer       = writer;
     _progress     = progress;
     _pathProvider = pathProvider;
 }
        private BcrReportRunner Create(
            ILogging log               = null,
            IBcrReader reader          = null,
            IBcrMiddleware middleware  = null,
            IBcrWriter writer          = null,
            IPathProvider pathProvider = null)
        {
            log          = log ?? Mock.Of <ILogging>();
            reader       = reader ?? Mock.Of <IBcrReader>();
            middleware   = middleware ?? Mock.Of <IBcrMiddleware>();
            writer       = writer ?? Mock.Of <IBcrWriter>();
            pathProvider = pathProvider ?? Mock.Of <IPathProvider>();

            return(new BcrReportRunner(log, reader, middleware, writer, pathProvider, TextWriter.Null));
        }