71 lines
1.5 KiB
Java
71 lines
1.5 KiB
Java
import java.util.Arrays;
|
|
|
|
class ReverserTest
|
|
{
|
|
|
|
private int[] testSequential(int[] a) {
|
|
SequentialReverser rev = new SequentialReverser(a);
|
|
rev.reverse();
|
|
boolean ok = true;
|
|
for (int k = 0; k < a.length; k++)
|
|
ok = ok && (a[k] == rev.reversed()[a.length - k - 1]);
|
|
if (!ok)
|
|
System.out.println("Reversal error: " + Arrays.toString(a) + " reversed: " + Arrays.toString(rev.reversed()));
|
|
return rev.reversed();
|
|
}
|
|
|
|
private int[] testParallel(int[] a, int N) {
|
|
ParallelReverser rev = new ParallelReverser(a, N);
|
|
rev.reverse();
|
|
return rev.reversed();
|
|
}
|
|
|
|
private boolean check(int[] a, int N) {
|
|
int[] s = testSequential(a);
|
|
int[] p = testParallel(a, N);
|
|
boolean result = Arrays.equals(s, p);
|
|
if (result)
|
|
System.out.println("Test successful");
|
|
else
|
|
System.out.println("Sequential reversal: " + Arrays.toString(s) + " but parallel reversal: " + Arrays.toString(p));
|
|
return result;
|
|
}
|
|
|
|
void test1() {
|
|
int[] a = {1, 2, 3, 4, 5, 6};
|
|
check(a, 1);
|
|
check(a, 2);
|
|
check(a, 3);
|
|
check(a, 5);
|
|
}
|
|
|
|
void test2() {
|
|
int[] a = {-1, 2, -3, 4, -5, 6, -7};
|
|
check(a, 3);
|
|
check(a, 4);
|
|
}
|
|
|
|
void test3() {
|
|
int[] a = { };
|
|
check(a, 1);
|
|
check(a, 2);
|
|
check(a, 3);
|
|
}
|
|
|
|
void test4() {
|
|
int[] a = { 1 };
|
|
check(a, 1);
|
|
check(a, 2);
|
|
check(a, 3);
|
|
}
|
|
|
|
public static void main(String[] args) {
|
|
ReverserTest o = new ReverserTest();
|
|
o.test1();
|
|
o.test2();
|
|
o.test3();
|
|
o.test4();
|
|
}
|
|
|
|
}
|