This repository has been archived on 2023-06-18. You can view files and clone it, but cannot push or open issues or pull requests.
soft-an04/Reversal/src/main/java/ReverserTest.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();
}
}