Courses‎ > ‎APCS - Term 1‎ > ‎Konstantinovich‎ > ‎

### 2019-02-25

posted Feb 25, 2019, 6:13 AM by Konstantinovich Samuel   [ updated Feb 25, 2019, 8:55 AM ]
 Test your labs 01,02,03 with these, if it doens't work, then you need to fix right away.Make sure your repos are named:MKS22X-RecursionMKS22X-QueensMKS22X-KnightThey should be public or I won't see them.If you have any concerns email me right away.Many people did not compile when tests were run. These test cases are not the full list that I will use, just the standard by which your code will be tested. Feel free to post updates on the mailing list if you feel there is an issue with any of these.I didn't post a tester for makeAllSums, but that should work the same way, except return an arraylist of integers.  LAB 01`public static boolean closeEnough(double a, double b){``    if(a==0.0 && b==0.0)return true;``    if(a==0.0)return b < 0.00000000001;``    if(b==0.0)return a < 0.00000000001;``    return Math.abs(a-b)/a < 0.0001;//This is the normal % difference allowed``}``//``testcase`` must be a valid index of your input/output array``public static void testFib(int ``testcase``){``  recursion r = new recursion();``  int[] input = {0,1,2,3,5,30};``  int[] output ={0,1,1,2,5,832040};``  int max = input.length;``  if(testcase < input.length){``    int in = input[testcase];``    try{``      ``      int ans = r.fib(in);``      int correct = output[testcase];``      if(ans == correct){``        System.out.println("PASS test fib "+in+". "+correct);``      }``      else{``        System.out.println("FAIL test fib"+in+". "+ans+" vs "+correct);``        ``      }``    }catch(IllegalArgumentException n){``      if(in < 0){``        System.out.println("PASS test fib"+in+" IllegalArgumentException");``      }else{``        System.out.println(" FAIL IllegalArgumentException in test case:"+in);``      }``    }catch(Exception e){``      System.out.println(" FAIL Some exception in test case:"+in);``    }``  }``}``//``testcase`` must be a valid index of your input/output array``public static void testSqrt(int ``testcase``){``  recursion r = new recursion();``  double[] input = {0.0,1.0, 2.0, 4.0, 7.0};``  double[] output = {0.0,1.0,1.4142135623730951,2.0,2.6457513110645907};``  int max = input.length;``  if(testcase < input.length){``    double in = input[testcase];``    try{``      ``      double ans = r.sqrt(in,.00001);``      double correct = Math.sqrt(in);``      if(closeEnough(ans,correct)){``        System.out.println("PASS test sqrt "+in+" "+ans);``      }``      else{``        System.out.println("FAIL test sqrt "+in+" "+ans+" vs "+correct);``        ``      }``    }catch(IllegalArgumentException n){``      if(in < 0){``        System.out.println("PASS test sqrt"+in+" IllegalArgumentException");``      }else{``        System.out.println(" FAIL IllegalArgumentException in test case:"+in);``      }``    }catch(Exception e){``      System.out.println(" FAIL Some exception in test case:"+in);``    }``  }``}`LAB02`//``testcase`` must be a valid index of your input/output array``public static void runTest(int i){``  QueenBoard b;``  int[]tests =   {1,2,3,4,5,8};``  int[]answers = {1,0,0,2,10,92};``  if(i >= 0 && i < tests.length ){``    int size = tests[i];``    int correct = answers[i];``    b = new QueenBoard(size);``    int ans  = b.countSolutions();``    ``    if(correct==ans){``      System.out.println("PASS board size: "+tests[i]+" "+ans);``    }else{``      System.out.println("FAIL board size: "+tests[i]+" "+ans+" vs "+correct);``    }``  }``}`LAB03`//``testcase`` must be a valid index of your input/output array``public static void runTest(int i){``  KnightBoard b;``  int[]m =   {4,5,5,5,5};``  int[]n =   {4,5,4,5,5};``  int[]startx = {0,0,0,1,2};``  int[]starty = {0,0,0,1,2};``  int[]answers = {0,304,32,56,64};``  if(i >= 0 ){``    try{``      int correct = answers[i];``      b = new KnightBoard(m[i%m.length],n[i%m.length]);``      int ans  = b.countSolutions(startx[i],starty[i]);``      if(correct==ans){``        System.out.println("PASS board size: "+m[i%m.length]+"x"+n[i%m.length]+" "+ans);``      }else{``        System.out.println("FAIL board size: "+m[i%m.length]+"x"+n[i%m.length]+" "+ans+" vs "+correct);``      }``    }catch(Exception e){``      System.out.println("FAIL Exception case: "+i);``    }``  }``}`
Comments