@Test
  public void shouldCreateADirectoryForEachChapterThatContainsImages() throws Exception {
    BookBuilder builder = new BookBuilder("Com Imagens");
    builder.addReaderFromString(
        "[chapter Um capítulo]\n" + "Uma introdução com imagem: \n\n" + "[img baseJpgImage.jpg]");
    builder.addReaderFromString(
        "[chapter Outro capítulo]\n"
            + "Uma introdução com imagem: \n\n"
            + "[img basePngImage.png]");
    Book imageBook = builder.build();
    new HtmlModule().inject(imageBook);

    generator.generate(imageBook, directory);

    File bookRoot = new File(directory, "com-imagens/");
    File firstChapter = new File(bookRoot, "um-capitulo/");
    File firstChaptersImage = new File(firstChapter, "baseJpgImage.jpg");
    File secondChapter = new File(bookRoot, "outro-capitulo/");
    File secondChaptersImage = new File(secondChapter, "basePngImage.png");

    assertTrue(bookRoot.exists());
    assertTrue(firstChapter.exists());
    assertTrue(firstChaptersImage.exists());
    assertTrue(secondChapter.exists());
    assertTrue(secondChaptersImage.exists());
  }
 @Test(expected = TubainaException.class)
 public void testGeneratorWithUnexistantImage() throws TubainaException, IOException {
   BookBuilder builder = new BookBuilder("Com imagens");
   String fileContent = "[chapter qualquer um]\n" + "[img src/test/resources/someImage.gif]";
   builder.addReaderFromString(fileContent);
   Book b = builder.build();
   generator.generate(b, directory);
 }
  private Book createsSimpleBookWithTitle(String title) {
    BookBuilder builder = new BookBuilder(title);

    String fileContent =
        "[chapter     O que é java?   ]\n"
            + "texto da seção\n"
            + "[section Primeira seção]\n"
            + "texto da prim seção\n"
            + "[section Segunda seção]\n"
            + "texto da segunda seção\n\n";
    builder.addReaderFromString(fileContent);

    builder.addReaderFromString("[chapter Introdução]\n" + "Algum texto de introdução\n");

    return builder.build();
  }
  @Test
  public void testGeneratorWithDoubledImage() throws TubainaException, IOException {
    BookBuilder builder = new BookBuilder("Com imagens");
    String fileContent =
        "[chapter qualquer um]\n" + "[img baseJpgImage.jpg]\n[img baseJpgImage.jpg]";
    builder.addReaderFromString(fileContent);

    Book b = builder.build();
    new HtmlModule().inject(b);

    try {
      generator.generate(b, directory);
    } catch (TubainaException e) {
      Assert.fail("Should not complain if one uses twice the same image");
    }
  }
  @Test
  public void testGeneratorWithCorrectImages() throws IOException {
    BookBuilder builder = new BookBuilder("Com imagens");
    builder.addReaderFromString("[chapter qualquer um]\n" + "[img baseJpgImage.jpg]");
    Book b = builder.build();
    new HtmlModule().inject(b);

    generator.generate(b, directory);
    // testar se a imagem foi copiada pro diretorio images
    File chapterDir = new File(directory, "com-imagens/qualquer-um/");
    Assert.assertTrue(chapterDir.exists());

    Assert.assertEquals(1, chapterDir.list(new SuffixFileFilter(Arrays.asList("jpg"))).length);
    File copied = new File(chapterDir, "baseJpgImage.jpg");
    Assert.assertTrue(copied.exists());
  }