Academic Integrity: tutoring, explanations, and feedback — we don’t complete graded work or submit on a student’s behalf.

Help me to create parameter test using Junit (code is already given) keep geetin

ID: 3555661 • Letter: H

Question

Help me to create parameter test using Junit (code is already given)

keep geeting test fair.....

code

package edu.txstate.cs;

public class selectionSort2 {

       public static void main(String[] args)
       {
       int n = 20;
       int[] numArray = unsortedArray(n); // re-initialize
       printArray(numArray,n);
       selectSort2(numArray, n);
       printArray(numArray, n);
       }
         
         
       //Generate data for the selection sort array
       public static int[] unsortedArray(int n) {
       int[] a = new int[n];
       for (int index = 0; index < n; index++) {
       a[index] = (n - index);
       }
       return a;
       }
       //print the array
       public static void printArray(int[] data, int n)
       {
       for (int index = 0; index < n; index++) {
       System.out.print(data[index] + " ");
       }
       System.out.println();
       } public static void selectSort2(int[] data, int n)
       {
       for (int numUnsorted = n; numUnsorted > 0; numUnsorted--) {
       int maxIndex = 0;
       for (int index = 1; index < numUnsorted; index++) {
       if (data[maxIndex] < data[index])
       maxIndex = index;
       //swap the element
       int temp = data[numUnsorted-1];
       data[numUnsorted-1] = data[maxIndex];
       data[maxIndex] = temp;
         
       }
       }
       }

   }

package select;

import static org.junit.Assert.*;
import static org.junit.Assert.assertEquals;

import java.util.Arrays;
import java.util.Collection;
import java.util.List;

import org.junit.Test;
import org.junit.runner.RunWith;
import org.junit.runners.Parameterized;
import org.junit.runners.Parameterized.Parameters;


/**
* @author secc
*
*/
public class parameterTest {

   private int test;

   public parameterTest(int testParameter) {
   this.test = testParameter;
   }

   // creates the test data
   @Parameters
   public static List<Object> data() {
   Object[] data = new Object[] { 20,19,18,17,16,15,14,13,12,11,10,9,8,7,6,5,4,3,2,1};
   return Arrays.asList(data);
   }

   @Test
   public void testException() {
   selectionSort2 tests = new selectionSort2();
   int []data= {20, 19, 18, 17, 16, 15, 14, 13, 12, 11, 10, 9, 8, 7,
6, 5, 4, 3, 2, 1};
       int[] expected = { 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16,
17, 18, 19, 20 };
   int n=20;
   assertEquals("Result", data,n);
   tests.selectSort2(expected, n);
   }


   }

ERror list

java.lang.Exception: Test class should have public zero-argument constructor
   at org.junit.internal.runners.MethodValidator.validateNoArgConstructor(MethodValidator.java:54)
   at org.junit.internal.runners.MethodValidator.validateMethodsForDefaultRunner(MethodValidator.java:39)
   at org.junit.internal.runners.TestClassRunner.validate(TestClassRunner.java:33)
   at org.junit.internal.runners.TestClassRunner.<init>(TestClassRunner.java:27)
   at org.junit.internal.runners.TestClassRunner.<init>(TestClassRunner.java:20)
   at sun.reflect.NativeConstructorAccessorImpl.newInstance0(Native Method)
   at sun.reflect.NativeConstructorAccessorImpl.newInstance(NativeConstructorAccessorImpl.java:41)
   at sun.reflect.DelegatingConstructorAccessorImpl.newInstance(DelegatingConstructorAccessorImpl.java:39)
   at java.lang.reflect.Constructor.newInstance(Constructor.java:515)
   at org.junit.internal.requests.ClassRequest.buildRunner(ClassRequest.java:33)
   at org.junit.internal.requests.ClassRequest.getRunner(ClassRequest.java:28)
   at org.eclipse.jdt.internal.junit4.runner.JUnit4TestReference.<init>(JUnit4TestReference.java:28)
   at org.eclipse.jdt.internal.junit4.runner.JUnit4TestClassReference.<init>(JUnit4TestClassReference.java:24)
   at org.eclipse.jdt.internal.junit4.runner.JUnit4TestLoader.createTest(JUnit4TestLoader.java:40)
   at org.eclipse.jdt.internal.junit4.runner.JUnit4TestLoader.loadTests(JUnit4TestLoader.java:30)
   at org.eclipse.jdt.internal.junit.runner.RemoteTestRunner.runTests(RemoteTestRunner.java:445)
   at org.eclipse.jdt.internal.junit.runner.RemoteTestRunner.runTests(RemoteTestRunner.java:673)
   at org.eclipse.jdt.internal.junit.runner.RemoteTestRunner.run(RemoteTestRunner.java:386)
   at org.eclipse.jdt.internal.junit.runner.RemoteTestRunner.main(RemoteTestRunner.java:196)
Caused by: java.lang.NoSuchMethodException: edu.txstate.cs.parameterTest.<init>()
   at java.lang.Class.throwNoSuchMethodException(Class.java:283)
   at java.lang.Class.getConstructor(Class.java:308)
   at org.junit.internal.runners.MethodValidator.validateNoArgConstructor(MethodValidator.java:52)
   ... 18 more

Explanation / Answer

CHANGE TEST TO THIS, IT WILL WORK