private static void Calculate(int[] input, out int sum, out double average, out int divisibleBySevenCount)
throw new NotImplementedException();
public static void Main()
RunTest(new int[] { 1, 2, 3 },
RunTest(new int[] { 5, 6, 7 },
Console.WriteLine(ex.ToString());
Console.WriteLine(pass ? "Pass!" : "FAIL!");
private static void RunTest(int[] input, int expectedSum, double expectedAverage, int expectedDivisibleBySeven)
Console.Write("Calculate({3}): Sum={0} Average={1} Divisible-by-Seven={2}...",
expectedSum, expectedAverage, expectedDivisibleBySeven,
input != null ? String.Format("[{0}]", String.Join(", ", input)) : "<null>");
int actualSum, actualDivisibleBySeven;
Calculate(input, out actualSum, out actualAverage, out actualDivisibleBySeven);
if (actualSum != expectedSum)
throw new Exception(String.Format("Sum doesn't match! Expected={0} Actual={1}",
expectedSum, actualSum));
if (actualAverage != expectedAverage)
throw new Exception(String.Format("Average doesn't match! Expected={0} Actual={1}",
expectedAverage, actualAverage));
if (actualDivisibleBySeven != expectedDivisibleBySeven)
throw new Exception(String.Format("Divisible-by-seven count doesn't match! Expected={0} Actual={1}",
expectedDivisibleBySeven, actualDivisibleBySeven));
Console.WriteLine("pass!");
Console.WriteLine("fail!");