internal MultiCharacterDelimiterParser(IDelimiterParser parentParser) { Delimiters = parentParser.Delimiters; HasTerminated = false; ParentParser = parentParser; _multiCharDelimiter = new StringBuilder(); }
private IEnumerable <string> ExtractDelimitedInput(string input, IDelimiterParser delimiterParser) { var delimiter = delimiterParser.GetDelimiters(input); input = delimiterParser.GetBody(input); return(SplitInputOnDelimiters(input, delimiter)); }
public Lexer_UnitTests() { _tokenizerMock = Substitute.For <ITokenizer>(); _delimiterParserMock = Substitute.For <IDelimiterParser>(); _configMock = Substitute.For <IConfiguration>(); _lexer = new Lexer(_tokenizerMock, _delimiterParserMock, _configMock); }
public Calculator(IDelimiterParser delimiterParser, IDataParser dataParser, IValidationService validationService, IConstraints constraints) { _delimiterParser = delimiterParser ?? throw new ArgumentNullException(nameof(delimiterParser)); _dataParser = dataParser ?? throw new ArgumentNullException(nameof(dataParser)); _validationService = validationService ?? throw new ArgumentNullException(nameof(validationService)); _constraints = constraints ?? throw new ArgumentNullException(nameof(constraints)); }
/// <summary> /// /// </summary> /// <param name="delimiterParser"></param> public NumberLinesParser(IDelimiterParser delimiterParser) { if (delimiterParser == null) { throw new ArgumentNullException(nameof(delimiterParser)); } _delimiterParser = delimiterParser; }
/// <summary> /// Constructor. /// </summary> /// <param name="delimiterParser">An object to parse delimiters.</param> /// <param name="numberLinesParser">An object to parse lines of delimited numbers</param> /// <param name="numbersParser">An object to parse numbers from a line</param> /// <param name="numberFilter">An object used to filter out unwanted numbers</param> /// <param name="numberDetector">An object used to detect invalid numbers</param> /// <param name="numberAdder">An object used to sum a list of numbers</param> public BasicStringCalculator(IDelimiterParser delimiterParser, INumberLinesParser numberLinesParser, INumbersParser numbersParser, INumberFilter numberFilter, INumberDetector numberDetector, INumberAdder numberAdder) { if (delimiterParser == null) { throw new ArgumentNullException(nameof(delimiterParser)); } if (numberLinesParser == null) { throw new ArgumentNullException(nameof(numberLinesParser)); } if (numbersParser == null) { throw new ArgumentNullException(nameof(numbersParser)); } if (numberFilter == null) { throw new ArgumentNullException(nameof(numberFilter)); } if (numberDetector == null) { throw new ArgumentNullException(nameof(numberDetector)); } if (numberAdder == null) { throw new ArgumentNullException(nameof(numberAdder)); } _delimiterParser = delimiterParser; _numberLinesParser = numberLinesParser; _numbersParser = numbersParser; _numberFilter = numberFilter; _numberDetector = numberDetector; _numberAdder = numberAdder; }
public StringCalculator(IConsole console, IDelimiterParser delimiterParser) { this._console = console; this._delimiterParser = delimiterParser; }
public StringCalculator() { this._console = new ConsoleWrapper(); this._delimiterParser = new SubStringDelimiterParser(); }
public Lexer(ITokenizer tokenizer, IDelimiterParser parser, IConfiguration config) { _tokenizer = tokenizer; _parser = parser; _config = config; }
public DelimiterParser_UnitTests() { _parser = new DelimiterParser(); }