import org.junit.Test;
import java.util.Arrays;
import java.util.List;
import static org.junit.Assert.assertEquals;
public class PermuteElementsTest {
List<Integer> expected;
List<Integer> perm;
List<Integer> a;
@Test
public void applyPermutation1() {
expected = Arrays.asList(2, 1);
perm = Arrays.asList(1, 0);
a = Arrays.asList(1, 2);
test(expected, perm, a);
}
@Test
public void applyPermutation2() {
expected = Arrays.asList(1);
perm = Arrays.asList(0);
a = Arrays.asList(1);
test(expected, perm, a);
}
@Test
public void applyPermutation3() {
expected = Arrays.asList(150, 50, 100, 200);
perm = Arrays.asList(2, 0, 1, 3);
a = Arrays.asList(50, 100, 150, 200);
test(expected, perm, a);
}
private void test(List<Integer> expected, List<Integer> perm, List<Integer> a) {
PermuteElements.applyPermutation(perm, a);
assertEquals(expected, a);
}
}