Answered step by step
Verified Expert Solution
Link Copied!

Question

1 Approved Answer

JAVA Tester assignment Objective: Program Testing: Creating Test Plans You have been given a class called IntSorter that contains some simple searching and sorting methods:

JAVA Tester assignment

Objective: Program Testing: Creating Test Plans

You have been given a class called IntSorter that contains some simple searching and sorting methods: linearSearch, slectionSort and binarySearch. Your assignment is to prepare a test plan for each of the methods and write an IntSorterTester class that implements this test plan.

Do these first:

  • Create a package called: TestingAndComplexity using Eclipse
  • Create a class called IntSortSearch. Copy and paste the code below.

public class IntSortSearch

{

private static int numComps = 0;

//--------------------------------------------------

public static int getNumComps()

{

return numComps;

}

//--------------------------------------------------

public static int linearSearch(int[] a, int x)

{

numComps = 0;

for (int k = 0; k < a.length; k++)//------Line 1

{

numComps++;

if (a[k] == x)//-----------------------Line 2

{

System.out.println("Num Comps = "+numComps);

return k;//-------------------------Line 3

}

}

System.out.println("Num Comps = "+numComps);

return -1;//------------------------------Line 4

}

//--------------------------------------------------

private static int select(int[] a, int k)

{

//find the location of the smallest element in the array

//between position k and the end of the array

int smallestPos = k; //-------------------Line 5

for (int j = k; j < a.length; j++)

{

numComps++;

if (a[j] < a[smallestPos])//----------Line 6

smallestPos = j;//-----------------Line 7

}

return smallestPos;//--------------------Line 8

}

//--------------------------------------------------

public static void selectionSort(int[] a){

int pos; //position of the smallest elelemt

int temp; //temp variable for swap

numComps = 0;

for (int k = 0; k < a.length-1; k++)//---Line 9

{

//find the smallest element

pos = select(a, k);//-----------------Line 10

//swap it with k-th element

temp = a[k];

a[k] = a[pos];

a[pos] = temp;

}

System.out.println("Num Comps = "+numComps);//Line 11

}

//--------------------------------------------------

public static int binarySearch(int[] a, int x)

{

int lowerLimit = 0;

int upperLimit = a.length-1;

int middle = 0;

numComps = 0;

while (lowerLimit <= upperLimit)//-------------Line 12

{

numComps++;

middle = (lowerLimit+upperLimit) / 2;

if (a[middle] == x){//---------------------Line 13

System.out.println("Num Comps = "+numComps);

return middle;//------------------------Line 14

}

if (a[middle] < x){//----------------------Line 15

lowerLimit = middle+1;//----------------Line 16

} else {

upperLimit = middle-1;//----------------Line 17

}

}

System.out.println("Num Comps = "+numComps);

return -1;//-----------------------------------Line 18

}

//--------------------------------------------------

}

Now write the IntSortSearchTester class. It will contain the following methods:

  • public static void linearSearchTester() This hard-codes the test data for linearSearch method
  • public static void binarySearchTester() This hard-codes the test data for binarySearch method
  • public static void sortTester() This hard-codes the test data for selectionSort method
  • public static void main(String[] args) method which just calls all the tester methods, using a statement like: IntSortSearch.linearSearchTester();

How to create the test data for hardcoding into the tester methods:

  • In each of the two search tester methods, you should have test cases (written in the style of the example given in class) that simulate the following situations:
    • Array containing one element only, and the value being searched for is the element in the array
    • Array containing one element only, and the value being searched for is NOT the element in the array
    • Array containing two unequal elements, and the value being searched for is one of the elements of the array
    • Array containing two unequal elements, and the value being searched for is NOT ANY of the elements of the array
    • Array containing 3 elements, and the value being searched for is the very first element of the array
    • Array containing 3 elements, and the value being searched for is the very last element of the array
    • Array containing 3 elements, and the value being searched for is the middle element
    • Array containing 3 elements, and the value being searched for is NOT ANY of the elements in the array
  • For the one sort tester method, you should have test cases (again, written in the style of the example given in class) that simulate the following situations:
    • Array containing one element only
    • Array containing two unequal elements
    • Array containing 3 elements, already sorted
    • Array containing 3 elements, already sorted in the reverse order
    • Array containing 3 elements, all of them negative
    • Array containing 3 elements, one negative, one zero, one positive
    • Array containing 3 elements, all of them the same value (like: 5,5,5)

Step by Step Solution

There are 3 Steps involved in it

Step: 1

blur-text-image

Get Instant Access to Expert-Tailored Solutions

See step-by-step solutions with expert insights and AI powered tools for academic success

Step: 2

blur-text-image

Step: 3

blur-text-image

Ace Your Homework with AI

Get the answers you need in no time with our AI-driven, step-by-step assistance

Get Started

Recommended Textbook for

Advances In Spatial And Temporal Databases 8th International Symposium Sstd 2003 Santorini Island Greece July 2003 Proceedings Lncs 2750

Authors: Thanasis Hadzilacos ,Yannis Manolopoulos ,John F. Roddick ,Yannis Theodoridis

2003rd Edition

3540405356, 978-3540405351

More Books

Students also viewed these Databases questions

Question

What are negative messages? (Objective 1)

Answered: 1 week ago