public class DecimalCounter
public static void Main()
DecimalCounter_FiveElementsTwoRanges_ReturnsResult();
public static int GetDecimalsCount(decimal[] arrayToSearch, decimal[][] ranges)
if (arrayToSearch == null)
throw new ArgumentNullException();
throw new ArgumentNullException();
for (int i = 0; i < arrayToSearch.Length; i++)
for (int j = 0; j < ranges.Length; j++)
if (arrayToSearch[i] >= ranges[j][0] && arrayToSearch[i] <= ranges[j][1])
private static readonly decimal[] ArrayWithFiveElements = { 0.1m, 0.2m, 0.3m, 0.4m, 0.5m };
private static readonly decimal[] ArrayWithFifteenElements = { decimal.MaxValue, -0.1m, -0.2m, decimal.One, -0.3m, -0.4m, -0.5m, decimal.Zero, 0.1m, 0.2m, 0.3m, 0.4m, 0.5m, decimal.MinusOne, decimal.MinValue };
public static void DecimalCounter_FiveElementsOneRange_ReturnsResult()
int actualResult = DecimalCounter.GetDecimalsCount(ArrayWithFiveElements, ranges);
Console.WriteLine( actualResult);
public static void DecimalCounter_FiveElementsTwoRanges_ReturnsResult()
int actualResult = DecimalCounter.GetDecimalsCount(ArrayWithFiveElements, ranges);
Console.WriteLine(actualResult);