@Test
 public void verifyPeriodicTemplates() throws Exception {
   final String[] periodicTemplates = RandomnessUtils.periodicTemplates(length);
   Arrays.sort(periodicTemplates);
   Arrays.sort(expectedAperiodicBits);
   for (int i = 0, periodicPointer = 0, aperiodicPointer = 0; i < (1 << length) - 1; i++) {
     if (i == Integer.valueOf(periodicTemplates[periodicPointer], 2).intValue()) {
       assertEquals(length, periodicTemplates[periodicPointer].length());
       periodicPointer++;
     } else {
       final int expectedAperiodicValue =
           Integer.valueOf(expectedAperiodicBits[aperiodicPointer++], 2).intValue();
       assertEquals(i, expectedAperiodicValue);
     }
   }
   assertEquals((1 << length) - expectedAperiodicBits.length, periodicTemplates.length);
 }