/**
* @author Ognjen Savkovic (ognjen.savkovic@unibz.it)
*
* This class tests methods from ArrayUtility
*/
public class testArrayUtility {
public static void main(String[] args) {
testMethodsLab1();
testMethodsLab2();
}
public static void testMethodsLab1(){
testFindMax();
testFindMaxPos();
testFindMin();
testFindMinPos();
testShiftRight();
testShiftLeft();
testCreateRandomArray();
testCreateRandomMatrix();
testFindInSortedArray();
testFindFirstInSortedArray();
testMaxSortShiftRight();
testMaxSortSwap();
}
public static void testMethodsLab2(){
testBubbleSort();
testFindMinMBubbleSort();
}
//////////////////////////////////////////////////////////////////////////////////////////////////
//////////////////////////////////////////////////////////////////////////////////////////////////
// LAB 1
//////////////////////////////////////////////////////////////////////////////////////////////////
//////////////////////////////////////////////////////////////////////////////////////////////////
public static void testFindMax(){
int [] A = { 1, -2, 3, 9, 8, 11, -5, 4};
int i = 2;
int j = 5;
System.out.println("testFindMax");
printIntArray("A",A);
System.out.println("The maximal element between i and j in A is: "+ArrayUtility.findMax(A,i,j));
System.out.println();
}
public static void testFindMaxPos(){
int [] A = { 1, -2, 3, 9, 8, 11, -5, 4};
int i = 2;
int j = 5;
System.out.println("testFindMaxPos");
printIntArray("A",A);
System.out.println("The (first) position of maximal element between i and j in A is: "+ArrayUtility.findMaxPos(A,i,j));
System.out.println();
}
public static void testFindMin(){
int [] A = { 1, -2, 3, 9, 8, 11, -5, 4};
int i = 2;
int j = 5;
System.out.println("testFindMin");
printIntArray("A",A);
System.out.println("The minimal element between i and j in A is: "+ArrayUtility.findMin(A,i,j));
System.out.println();
}
public static void testFindMinPos(){
int [] A = { 1, -2, 3, 9, 8, 11, -5, 4};
int i = 2;
int j = 5;
System.out.println("testFindMinPos");
printIntArray("A",A);
System.out.println("The (first) position of minimal element between i and j in A is: "+ArrayUtility.findMinPos(A,i,j));
System.out.println();
}
public static void testShiftRight(){
int [] A = { 1, -2, 3, 9, 8, 11, -5, 4};
int i = 2;
int j = 5;
System.out.println("testShiftRight");
printIntArray("A",A);
ArrayUtility.shiftRight(A,i,j);
System.out.println("Shift on the right all the elements in A from position 2 to 5:");
printIntArray("A",A);
System.out.println();
}
public static void testShiftLeft(){
int [] A = { 1, -2, 3, 9, 8, 11, -5, 4};
int i = 2;
int j = 5;
System.out.println("testShiftLeft");
printIntArray("A",A);
ArrayUtility.shiftLeft(A,i,j);
System.out.println("Shift on the left all the elements in A from position 2 to 5: ");
printIntArray("A",A);
System.out.println();
}
public static void testCreateRandomArray(){
int [] C = ArrayUtility.createRandomArray(5,10,15);
System.out.println("testCreateRandomArray");
System.out.println("Returns an array of size 5 of random elements betweeb 10 and 15");
printIntArray("C",C);
System.out.println();
}
public static void testCreateRandomMatrix(){
int [][] D = ArrayUtility.createRandomMatrix(5,5,1,15);
System.out.println("testCreateRandomMatrix");
System.out.println("Returns a matrix of size 5x5 of random elements between 1 and 15");
System.out.println("D=");
for(int[] k:D){
for(int l:k)
System.out.print(" "+l);
System.out.print("\n");
}
System.out.println();
}
public static void testFindInSortedArray(){
int [] F = { -11, -3, -1, 2, 8, 11, 15, 23};
System.out.println("testFindInSortedArray");
printIntArray("F",F);
System.out.println("findInSortedArray(F,15):"+ArrayUtility.findInSortedArray(F,15));
System.out.println("findInSortedArray(F,13):"+ArrayUtility.findInSortedArray(F,13));
System.out.println();
}
public static void testFindFirstInSortedArray(){
int [] G = { -11, -3, -3, -1, 2, 2, 2, 8, 11, 11, 15, 23};
System.out.println("testFindInSortedArray");
printIntArray("G",G);
System.out.println("findFirstInSortedArray(G,2):"+ArrayUtility.findFirstInSortedArray(G,2));
System.out.println("findFirstInSortedArray(G,13):"+ArrayUtility.findFirstInSortedArray(G,13));
System.out.println();
}
public static void testMaxSortShiftRight(){
int [] H = { 1, -2, 3, 9, -8, 11, -5, 4};
System.out.println("testMaxSortShiftRight");
printIntArray("H",H);
ArrayUtility.maxSortShiftRight(H);
System.out.println("maxSortShiftRight(H):");
printIntArray("H",H);
System.out.println();
}
public static void testMaxSortSwap(){
int [] J = { 1, -2, 3, 9, -8, 11, -5, 4};
System.out.println("testMaxSortSwap");
printIntArray("J",J);
ArrayUtility.maxSortSwap(J);
System.out.println("maxSortSwap(J):");
printIntArray("J",J);
System.out.println();
}
//////////////////////////////////////////////////////////////////
// Auxiliary methods for printing arrays
public static void printIntArray(String arrayName, int []A){
System.out.println(arrayName+"=");
for(int i=0; i<A.length; i++)
System.out.print(" "+A[i]);
System.out.println("");
}
public static void printLongArray(String arrayName, long []A){
System.out.println(arrayName+"=");
for(int i=0; i<A.length; i++)
System.out.print(" "+A[i]);
System.out.println("");
}
//////////////////////////////////////////////////////////////////////////////////////////////////
//////////////////////////////////////////////////////////////////////////////////////////////////
// LAB 2
//////////////////////////////////////////////////////////////////////////////////////////////////
//////////////////////////////////////////////////////////////////////////////////////////////////
public static void testBubbleSort(){
int [] A = {-1, -10, 3, 4, 5, 0, -15, 7, 4};
System.out.println("testBubbleSort");
printIntArray("A",A);
ArrayUtility.bubbleSort(A);
System.out.println("bubbleSort(A):");
printIntArray("A",A);
System.out.println();
}
public static void testFindMinMBubbleSort(){
System.out.println("FindMinMBubbleSort()="+ArrayUtility.findMinMBubbleSort());
}
}