using System.Collections.Generic;
public static int[] GetPrimeNumbers(int start, int end)
return Array.Empty<int>();
public static void Main()
Console.WriteLine("Task is done when all test cases are correct:");
TestReturnValues(testCaseNumber++, 2, 2, new int[] { 2 });
TestReturnValues(testCaseNumber++, 2, 3, new int[] { 2, 3 });
TestReturnValues(testCaseNumber++, 2, 10, new int[] { 2, 3, 5, 7 });
TestReturnValues(testCaseNumber++, 30, 48, new int[] { 31, 37, 41, 43, 47 });
TestReturnValues(testCaseNumber++, 11, 97, new int[] { 11, 13, 17, 19, 23, 29, 31, 37, 41, 43, 47, 53, 59, 61, 67, 71, 73, 79, 83, 89, 97 });
TestReturnValues(testCaseNumber++, 180, 190, new int[] { 181 });
TestException<ArgumentException>(testCaseNumber++, -1, -1);
TestException<ArgumentException>(testCaseNumber++, -1, 100);
TestException<ArgumentException>(testCaseNumber++, 0, 0);
TestException<ArgumentException>(testCaseNumber++, 0, 100);
TestException<ArgumentException>(testCaseNumber++, 1, 1);
TestException<ArgumentException>(testCaseNumber++, 1, 100);
TestException<ArgumentException>(testCaseNumber++, 2, -1);
TestException<ArgumentException>(testCaseNumber++, 2, 0);
TestException<ArgumentException>(testCaseNumber++, 2, 1);
if (correctTestCaseAmount == testCaseNumber - 1)
Console.WriteLine("Task is done.");
Console.WriteLine("TASK IS NOT DONE.");
private static void TestReturnValues(int testCaseNumber, int start, int end, int[] expectedResult)
primeNumbers = GetPrimeNumbers(start, end);
if (primeNumbers.SequenceEqual(expectedResult))
Console.WriteLine(correctCaseTemplate, testCaseNumber);
Console.WriteLine(incorrectCaseTemplate, testCaseNumber);
Console.WriteLine(incorrectCaseTemplate, testCaseNumber);
private static void TestException<T>(int testCaseNumber, int startValue, int endValue) where T : Exception
GetPrimeNumbers(startValue, endValue);
Console.WriteLine(incorrectCaseTemplate, testCaseNumber);
Console.WriteLine(correctCaseTemplate, testCaseNumber);
Console.WriteLine("#{0} - case is not correct!", testCaseNumber);
private static string correctCaseTemplate = "Case #{0} is correct.";
private static string incorrectCaseTemplate = "Case #{0} IS NOT CORRECT";
private static int correctTestCaseAmount = 0;