Написать и протестировать метод, находящий сумму элементов заданного целочисленного ступенчатого массива C#
Формулировка задачи:
Написать и протестировать метод, находящий сумму элементов заданного целочисленного ступенчатого массива, расположенных на первой и последней позиции каждой строки. Метод должен генерировать хотя бы одно исключение. Ступенчатый массив должен генерироваться случайным образом и выводиться на экран в методе Main.
Решение задачи: «Написать и протестировать метод, находящий сумму элементов заданного целочисленного ступенчатого массива C#»
textual
Листинг программы
using NUnit.Framework;
[TestFixture]
public class ArrayLibTests
{
[Test]
public void SumShouldReturnCorrectValue()
{
var array = new int[][]
{
new int[] {1,2,3,4},
new int[] {5,6},
new int[] {7},
new int[] {8,9,0}
};
int sum = ArrayLib.Sum(array);
Assert.That(sum, Is.EqualTo(38));
}
[Test]
public void SumShouldRaiseExceptionIfArrayIsNull()
{
int[][] array = null;
Assert.Throws<ArgumentNullException>(() => ArrayLib.Sum(array));
}
[Test]
public void SumShouldRaiseExceptionIfArrayIsEmpty()
{
int[][] array = new int[0][];
Assert.Throws<ArgumentNullException>(() => ArrayLib.Sum(array));
}
[Test]
public void SumShouldRaiseExceptionIfArrayContainsNullElement()
{
var array = new int[][]
{
new int[] {1,2,3,4},
null,
new int[] {7},
new int[] {8,9,0}
};
Assert.Throws<ArgumentException>(() => ArrayLib.Sum(array));
}
[Test]
public void SumShouldRaiseExceptionIfArrayContainsEmptyElement()
{
var array = new int[][]
{
new int[] {1,2,3,4},
new int[] {},
new int[] {7},
new int[] {8,9,0}
};
Assert.Throws<ArgumentException>(() => ArrayLib.Sum(array));
}
}