예제 #1
0
        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));
        }