@Test(groups = { "Integer-Sorting", "Fast Sort" })
	public void testShellSortInt() {

		Reporter.log("[ ** Shell Sort ** ]\n");
		try {
			testSortIntegers = new ShellSort<>(
					fastShuffledArrayInt.clone());

			Reporter.log("1. Unsorted Random Array\n");

			timeKeeper = System.currentTimeMillis();

			testSortIntegers.sortArray();
			if (testSortIntegers.isSorted())
				Reporter.log("Test Passed : ");
			else
				throw new TestException("Array was not sorted!!!");
			Reporter.log((System.currentTimeMillis() - timeKeeper) + " ms\n");

			Reporter.log("2. Sorted Random Array\n");

			timeKeeper = System.currentTimeMillis();

			testSortIntegers.sortArray();
			if (testSortIntegers.isSorted())
				Reporter.log("Test Passed : ");
			else
				throw new TestException("Array was not sorted!!!");
			Reporter.log((System.currentTimeMillis() - timeKeeper) + " ms\n");

			Reporter.log("3. Reversed Sorted Array\n");

			ShuffleArray.reverseArray(testSortIntegers.getArray());

			timeKeeper = System.currentTimeMillis();

			testSortIntegers.sortArray();
			if (testSortIntegers.isSorted())
				Reporter.log("Test Passed : ");
			else
				throw new TestException("Array was not sorted!!!");

			Reporter.log((System.currentTimeMillis() - timeKeeper) + " ms\n");

		}

		catch (Exception x) {
			System.err.println(x);
			throw x;
		}

	}