public void IsValidNumber() { int minBound = 42; int maxBound = 10000; string[] numbers = { "2134", "21313-213-1", "430", "-21331", "02131", "10001", "939", "" }; for (int i = 0; i < numbers.Length; ++i) { var currentValue = numbers[i]; if (i % 2 == 0) { Assert.AreEqual(UserInputValidator.IsValidNumber(currentValue, minBound, maxBound, out _), true); } else { Assert.AreEqual(UserInputValidator.IsValidNumber(currentValue, minBound, maxBound, out _), false); } } }
public int ReadNumberWithHint(string hint, int minBound, int maxBound) { System.Console.WriteLine(hint); var input = System.Console.ReadLine(); int number; while (!UserInputValidator.IsValidNumber(input, minBound, maxBound, out number)) { System.Console.WriteLine($"Please enter a number between {minBound} and {maxBound}!"); System.Console.WriteLine(hint); input = System.Console.ReadLine(); } System.Console.WriteLine(); return(number); }