public void ShouldAskForRequiredInputData(string[] args) { if (args.Length == 0) { _mockInputOutput.Setup(x => x.ReadLine(MessageConstants.EnterCompressionMethodMessage)) .Returns("compress").Verifiable(); } if (args.Length < 2) { _mockInputOutput.Setup(x => x.ReadLine(MessageConstants.EnterSourceMessage)) .Returns("file.txt").Verifiable(); } if (args.Length < 3) { _mockInputOutput.Setup(x => x.ReadLine(MessageConstants.EnterTargetMessage)) .Returns("file.gzip").Verifiable(); } var inputReader = new GzipperUserInputReader(_mockInputOutput.Object); inputReader.ParseUserInputData(args); _mockInputOutput.Verify(); }
public CompressorApplication(IInputOutput io, ILogger logger, IStreamFactory streamFactory, ICompressorSettings settings) { _io = io ?? throw new ArgumentNullException(nameof(io)); _logger = logger ?? throw new ArgumentNullException(nameof(logger)); _streamFactory = streamFactory ?? throw new ArgumentNullException(nameof(streamFactory)); _settings = settings ?? throw new ArgumentNullException(nameof(settings)); _inputReader = new GzipperUserInputReader(_io); }