public int distanceOf(PartitionTableView partitionTableView) {
        int distance = 0;
        for (int i = 0; i < partitions.length; i++) {
            distance += distanceOf(partitions[i], partitionTableView.partitions[i]);
        }
        return distance;
    }
@Test
    public void testDistanceIsZero_whenSame() throws Exception {
        // distanceOf([A, B, C], [A, B, C]) == 0
        PartitionTableView table1 = createRandomPartitionTable();

        InternalPartition[] partitions = extractPartitions(table1);
        PartitionTableView table2 = new PartitionTableView(partitions);

        assertEquals(0, table2.distanceOf(table1));
    }