AbstractDiscretePartitionRefiner implements DiscretePartitionRefiner { public Permutation getBest() { return this.best; } AbstractDiscretePartitionRefiner(); void setup(PermutationGroup group, EquitablePartitionRefiner refiner); boolean firstIsIdentity(); Partition getAutomorphismPartition(); String getFirstHalfMatrixString(); String getHalfMatrixString(); PermutationGroup getAutomorphismGroup(); Permutation getBest(); Permutation getFirst(); boolean isCanonical(); void refine(Partition partition);  }
@Test public void getBestTest() { int n = 3; Graph g = new Graph(n); g.connectionTable = new int[][]{{0, 1, 0}, {1, 0, 1}, {0, 1, 0}}; PermutationGroup group = new PermutationGroup(n); MockRefiner refiner = new MockRefiner(g); setup(refiner, group, g); refiner.refine(Partition.unit(n)); Permutation best = refiner.getBest(); Permutation expected = new Permutation(1, 0, 2); Assert.assertEquals(expected, best); }