PermutationGroup { public Permutation get(int uIndex, int uSubIndex) { return this.permutations[uIndex][uSubIndex]; } PermutationGroup(int size);  PermutationGroup(Permutation base);  PermutationGroup(int size, List<Permutation> generators); static PermutationGroup makeSymN(int size); int getSize(); long order(); Permutation get(int uIndex, int uSubIndex); List<Permutation> getLeftTransversal(int index); List<Permutation> transversal(final PermutationGroup subgroup); void apply(Backtracker backtracker); List<Permutation> all(); void changeBase(Permutation newBase); void enter(Permutation g); int test(Permutation permutation); @Override String toString();  }
@Test public void getTest() { int size = 6; Permutation p1 = new Permutation(0, 5, 4, 3, 2, 1); Permutation p2 = new Permutation(3, 2, 1, 0, 5, 4); List<Permutation> generators = new ArrayList<Permutation>(); generators.add(p1); generators.add(p2); PermutationGroup group = new PermutationGroup(size, generators); int uIndex = 0; int uSubIndex = 1; Permutation u01 = group.get(uIndex, uSubIndex); Assert.assertNull(u01); uSubIndex = 3; Permutation u03 = group.get(uIndex, uSubIndex); List<Integer> orbit = u03.getOrbit(0); Assert.assertTrue(orbit.contains(uSubIndex)); }