Example #1
0
 private void AddNewDelimiter(string delimiter)
 {
     if (!AcceptableDelimiters.Contains(delimiter))
     {
         AcceptableDelimiters.Add(delimiter);
     }
 }
Example #2
0
 /// <summary>
 /// Replace the Newline (\n) delimiter with an optional argument delimiter
 /// </summary>
 /// <param name="delimiter"></param>
 public void ReplaceAlternativeDelimiterWithArgumentDelimiter(string delimiter)
 {
     if (AcceptableDelimiters.Contains(@"\n"))
     {
         AcceptableDelimiters.Remove(@"\n");
     }
     AddNewDelimiter(delimiter);
 }
Example #3
0
        /// <summary>
        /// Interprets a formatted delimited string with config data into an object for use by the calculator
        /// </summary>
        /// <param name="userInput">a formatted delimited string</param>
        /// <returns>An object representing the data in the userInput</returns>
        public CalculatorInput InterpretCalculatorInput(string userInput)
        {
            CalculatorInput calculatorInput = new CalculatorInput()
            {
            };

            //Interpret the possible delimiters in the input string
            userInput = InterpretCustomDelimiters(userInput);

            //Split the string by all of the acceptable delimiters
            List <string> splitUserInput = userInput.Split(AcceptableDelimiters.ToArray(), StringSplitOptions.None).ToList();

            //Replace invalid entries with 0
            calculatorInput.Numbers = splitUserInput.Select(x => int.TryParse(x, out int num) ? num : 0).Where(x => x <= UpperBound).ToList();

            return(calculatorInput);
        }