public void ConvertToIntNegative()
bool parseResult = int.TryParse(userInput, out actual);
Assert.True(parseResult);
Assert.Equal(expected, actual);
public void ConvertToIntString()
string userInput = "hello";
bool parseResult = int.TryParse(userInput, out actual);
Assert.False(parseResult);
public void ValidateInputValid()
bool isValid = Program.ValidateInput(score);
public void ValidateInputInvalid()
bool isValid = Program.ValidateInput(score);
public static void Main()
string userInput = GetUserInput();
if (userInput.ToLower() == "stop")
else if (int.TryParse(userInput, out int intScore) && ValidateInput(intScore))
Console.WriteLine("Input incorrect, try again.");
double average = CalculateAverage(totalScores, numScores);
Console.WriteLine($"Average score: {average:F2}");
public static string GetUserInput()
Console.Write("Enter a score or 'stop' to end: ");
return Console.ReadLine();
public static bool ValidateInput(int score)
public static double CalculateAverage(int total, int count)
return (double)total / count;