public static String[] CreateArgumentsForDelimitedTests(
      InputBuilder inputBuilder,
      DelimBuilder delimBuilder,
      String value,
      OutputBuilder outputBuilder,
      LogBuilder logBuilder)
        {
            var commandLineArgumentsBuilder = new CommandLineArgumentsBuilder();

              if (inputBuilder != null)
              {
            commandLineArgumentsBuilder = commandLineArgumentsBuilder.WithInput(inputBuilder);
              }

              if (delimBuilder != null)
              {
            commandLineArgumentsBuilder = commandLineArgumentsBuilder.WithDelim(delimBuilder);
              }

              commandLineArgumentsBuilder.WithInList(new InListBuilder()
                                              .HasValuesList(value));

              if (outputBuilder != null)
              {
            commandLineArgumentsBuilder = commandLineArgumentsBuilder.WithOutput(outputBuilder);
              }

              if (logBuilder != null)
              {
            commandLineArgumentsBuilder = commandLineArgumentsBuilder.WithLog(logBuilder);
              }

              return commandLineArgumentsBuilder.Build();
        }
 public CommandLineArgumentsBuilder WithInput(InputBuilder inputBuilder)
 {
     this.builders.Add(inputBuilder);
       return this;
 }
        public static InputBuilder CreateSingleFileInputBuilder(String singleFilePath, Boolean searchSubDirectories = false)
        {
            var inputBuilder = new InputBuilder();
              inputBuilder = inputBuilder.IsSingleFile(singleFilePath);

              return MayAddSearchSubDirectories(inputBuilder, searchSubDirectories);
        }
        private static InputBuilder MayAddSearchSubDirectories(InputBuilder inputBuilder, Boolean searchSubDirectories)
        {
            if (searchSubDirectories)
              {
            inputBuilder = inputBuilder.AndSearchSubDirectories();
              }

              return inputBuilder;
        }
        public static InputBuilder CreateMultipleFilesInputBuilder(String multipleFilesPattern, Boolean searchSubDirectories = false)
        {
            var inputBuilder = new InputBuilder();
              inputBuilder = inputBuilder.IsMultipleFiles(multipleFilesPattern);

              return MayAddSearchSubDirectories(inputBuilder, searchSubDirectories);
        }