public static void main(String[] args) {

		coordTypes.add('C');
		coordTypes.add('P');

		// CREATING RANDOM INSTANCES
		List<Long> valuesD1Instances = new ArrayList<Long>();
		List<Long> valuesD2Instances = new ArrayList<Long>();
		List<Long> valuesD4Instances = new ArrayList<Long>();
		
		System.out.println("Each method was called " + RUNNING_TIMES_EACH + " times.");
		System.out.println("The values were calculated from running the test " + RUNNING_TIMES + " times.\n");

		System.out.println("Generating random instances for PointCP Designs 1, 2 and 4");
		int i = 0;
		while (i < RUNNING_TIMES) {

			generateInstances(valuesD1Instances, valuesD2Instances,
					valuesD4Instances);
			i++;
		}
		System.out.println("Times in milliseconds");
		System.out.println("Design 1: Median = " + getMedian(valuesD1Instances)
				+ ", Min = " + getMin(valuesD1Instances)
				+ ", Max = " + getMax(valuesD1Instances));
		System.out.println("Design 2: Median = " + getMedian(valuesD2Instances)
				+ ", Min = " + getMin(valuesD2Instances)
				+ ", Max = " + getMax(valuesD2Instances));
		System.out.println("Design 4: Median = " + getMedian(valuesD4Instances)
				+ ", Min = " + getMin(valuesD4Instances)
				+ ", Max = " + getMax(valuesD4Instances) + "\n");

		// CALLING METHOD getX
		List<Long> valuesD1GetX = new ArrayList<Long>();
		List<Long> valuesD2GetX = new ArrayList<Long>();
		List<Long> valuesD4GetX = new ArrayList<Long>();

		System.out.println("Calling method getX for Design 1, 2 and 4");
		i = 0;
		while (i < RUNNING_TIMES) {

			callingMethodGetX(valuesD1GetX, valuesD2GetX, valuesD4GetX);
			i++;

		}
		System.out.println("Times in milliseconds");
		System.out.println("Design 1: Median = " + getMedian(valuesD1GetX)
				+ ", Min = " + getMin(valuesD1GetX)
				+ ", Max = " + getMax(valuesD1GetX));
		System.out.println("Design 2: Median = " + getMedian(valuesD2GetX)
				+ ", Min = " + getMin(valuesD2GetX)
				+ ", Max = " + getMax(valuesD2GetX));
		System.out.println("Design 4: Median = " + getMedian(valuesD4GetX)
				+ ", Min = " + getMin(valuesD4GetX)
				+ ", Max = " + getMax(valuesD4GetX) + "\n");

		// CALLING METHOD getY
		List<Long> valuesD1GetY = new ArrayList<Long>();
		List<Long> valuesD2GetY = new ArrayList<Long>();
		List<Long> valuesD4GetY = new ArrayList<Long>();

		System.out.println("Calling method getY for Design 1, 2 and 4");
		i = 0;
		while (i < RUNNING_TIMES) {

			callingMethodGetY(valuesD1GetY, valuesD2GetY, valuesD4GetY);
			i++;

		}
		System.out.println("Times in milliseconds");
		System.out.println("Design 1: Median = " + getMedian(valuesD1GetY)
				+ ", Min = " + getMin(valuesD1GetY)
				+ ", Max = " + getMax(valuesD1GetY));
		System.out.println("Design 2: Median = " + getMedian(valuesD2GetY)
				+ ", Min = " + getMin(valuesD2GetY)
				+ ", Max = " + getMax(valuesD2GetY));
		System.out.println("Design 4: Median = " + getMedian(valuesD4GetY)
				+ ", Min = " + getMin(valuesD4GetY)
				+ ", Max = " + getMax(valuesD4GetY) + "\n");

		// CALLING METHOD getRho
		List<Long> valuesD1GetRho = new ArrayList<Long>();
		List<Long> valuesD2GetRho = new ArrayList<Long>();
		List<Long> valuesD4GetRho = new ArrayList<Long>();

		System.out.println("Calling method getRho for Design 1, 2 and 4");
		i = 0;
		while (i < RUNNING_TIMES) {

			callingMethodGetRho(valuesD1GetRho, valuesD2GetRho, valuesD4GetRho);
			i++;

		}
		System.out.println("Times in milliseconds");
		System.out.println("Design 1: Median = " + getMedian(valuesD1GetRho)
				+ ", Min = " + getMin(valuesD1GetRho)
				+ ", Max = " + getMax(valuesD1GetRho));
		System.out.println("Design 2: Median = " + getMedian(valuesD2GetRho)
				+ ", Min = " + getMin(valuesD2GetRho)
				+ ", Max = " + getMax(valuesD2GetRho));
		System.out.println("Design 4: Median = " + getMedian(valuesD4GetRho)
				+ ", Min = " + getMin(valuesD4GetRho)
				+ ", Max = " + getMax(valuesD4GetRho) + "\n");

		// CALLING METHOD getTheta
		List<Long> valuesD1GetTheta = new ArrayList<Long>();
		List<Long> valuesD2GetTheta = new ArrayList<Long>();
		List<Long> valuesD4GetTheta = new ArrayList<Long>();

		System.out.println("Calling method getTheta for Design 1, 2 and 4");
		i = 0;
		while (i < RUNNING_TIMES) {

			callingMethodGetTheta(valuesD1GetTheta, valuesD2GetTheta,
					valuesD4GetTheta);
			i++;

		}
		System.out.println("Times in milliseconds");
		System.out.println("Design 1: Median = " + getMedian(valuesD1GetTheta)
				+ ", Min = " + getMin(valuesD1GetTheta)
				+ ", Max = " + getMax(valuesD1GetTheta));
		System.out.println("Design 2: Median = " + getMedian(valuesD2GetTheta)
				+ ", Min = " + getMin(valuesD2GetTheta)
				+ ", Max = " + getMax(valuesD2GetTheta));
		System.out.println("Design 4: Median = " + getMedian(valuesD4GetTheta)
				+ ", Min = " + getMin(valuesD4GetTheta)
				+ ", Max = " + getMax(valuesD4GetTheta) + "\n");

		// CALLING METHOD getDistance
		List<Long> valuesD1GetDistance = new ArrayList<Long>();
		List<Long> valuesD2GetDistance = new ArrayList<Long>();
		List<Long> valuesD4GetDistance = new ArrayList<Long>();

		System.out.println("Calling method getDistance for Design 1, 2 and 4");
		i = 0;
		while (i < RUNNING_TIMES) {

			callingMethodGetDistance(valuesD1GetDistance, valuesD2GetDistance,
					valuesD4GetDistance);
			i++;

		}
		System.out.println("Times in milliseconds");
		System.out.println("Design 1: Median = " + getMedian(valuesD1GetDistance)
				+ ", Min = " + getMin(valuesD1GetDistance)
				+ ", Max = " + getMax(valuesD1GetDistance));
		System.out.println("Design 2: Median = " + getMedian(valuesD2GetDistance)
				+ ", Min = " + getMin(valuesD2GetDistance)
				+ ", Max = " + getMax(valuesD2GetDistance));
		System.out.println("Design 4: Median = " + getMedian(valuesD4GetDistance)
				+ ", Min = " + getMin(valuesD4GetDistance)
				+ ", Max = " + getMax(valuesD4GetDistance) + "\n");

		// CALLING METHOD rotatePoint
		List<Long> valuesD1rotatePoint = new ArrayList<Long>();
		List<Long> valuesD2rotatePoint = new ArrayList<Long>();
		List<Long> valuesD4rotatePoint = new ArrayList<Long>();

		System.out.println("Calling method rotatePoint for Design 1, 2 and 4");
		i = 0;
		while (i < RUNNING_TIMES) {

			callingMethodRotatePoint(valuesD1rotatePoint, valuesD2rotatePoint,
					valuesD4rotatePoint);
			i++;

		}
		System.out.println("Times in milliseconds");
		System.out.println("Design 1: Median = " + getMedian(valuesD1rotatePoint)
				+ ", Min = " + getMin(valuesD1rotatePoint)
				+ ", Max = " + getMax(valuesD1rotatePoint));
		System.out.println("Design 2: Median = " + getMedian(valuesD2rotatePoint)
				+ ", Min = " + getMin(valuesD2rotatePoint)
				+ ", Max = " + getMax(valuesD2rotatePoint));
		System.out.println("Design 4: Median = " + getMedian(valuesD4rotatePoint)
				+ ", Min = " + getMin(valuesD4rotatePoint)
				+ ", Max = " + getMax(valuesD4rotatePoint) + "\n");

	}