@Test
  public void testSingleCircular() throws DITAOTException {
    final File filename = new File(srcDir, "circularSingle.ditamap");

    final KeyrefReader keyrefreader = new KeyrefReader();
    final CachingLogger logger = new CachingLogger();
    keyrefreader.setLogger(logger);

    keyrefreader.read(filename.toURI(), readMap(filename));

    assertEquals(1, logger.getMessages().size());
    assertEquals(
        "[DOTJ069E][ERROR] Circular key definition same -> same.",
        logger.getMessages().get(0).message);
  }
  @Test
  public void testCircular() throws DITAOTException {
    final File filename = new File(srcDir, "circular.ditamap");

    final KeyrefReader keyrefreader = new KeyrefReader();
    final CachingLogger logger = new CachingLogger();
    keyrefreader.setLogger(logger);

    keyrefreader.read(filename.toURI(), readMap(filename));

    assertEquals(3, logger.getMessages().size());
    final Set<String> act = new HashSet<>(3);
    for (final Message msg : logger.getMessages()) {
      act.add(msg.message);
    }
    assertEquals(
        new HashSet<>(
            Arrays.asList(
                "[DOTJ069E][ERROR] Circular key definition first -> second -> third -> first.",
                "[DOTJ069E][ERROR] Circular key definition second -> third -> first -> second.",
                "[DOTJ069E][ERROR] Circular key definition third -> first -> second -> third.")),
        act);
  }