public static void GetRange() { var distributedArray = new BigArray <int>(); int size = 4 * MaxBlockSize; int rangeCount = DefaultBlockSize; //Fill array for (int i = 0; i < size; i++) { distributedArray.Add(i); } for (int i = 0; i < size / rangeCount; i++) { var range = distributedArray.GetRange(i * rangeCount, rangeCount); for (int j = 0; j < rangeCount; j++) { Assert.IsTrue(range[j] == i * rangeCount + j); } } var emptyArray = new BigArray <int>(); Assert.IsEmpty(emptyArray.GetRange(0, 0)); //Exceptions Assert.IsTrue(ExceptionManager.IsThrowFuncException <ArgumentOutOfRangeException, int, int, BigArray <int> > (distributedArray.GetRange, -1, 1)); Assert.IsTrue(ExceptionManager.IsThrowFuncException <ArgumentOutOfRangeException, int, int, BigArray <int> > (distributedArray.GetRange, 0, distributedArray.Count + 1)); }