Add parser for Chief O’Brien at Work.
[rhynodge.git] / src / test / java / net / pterodactylus / rhynodge / filters / comics / ChiefOBrienAtWorkComicFilterTest.java
1 package net.pterodactylus.rhynodge.filters.comics;
2
3 import java.io.IOException;
4
5 import com.google.common.base.Optional;
6 import org.hamcrest.MatcherAssert;
7 import org.hamcrest.Matchers;
8 import org.jsoup.nodes.Document;
9 import org.junit.Test;
10
11 /**
12  * Unit test for {@link ChiefOBrienAtWorkComicFilter}.
13  *
14  * @author <a href="mailto:bombe@pterodactylus.net">David ‘Bombe’ Roden</a>
15  */
16 public class ChiefOBrienAtWorkComicFilterTest {
17
18         private final ChiefOBrienAtWorkComicFilter filter = new ChiefOBrienAtWorkComicFilter();
19         private final Document document;
20
21         public ChiefOBrienAtWorkComicFilterTest() throws IOException {
22                 document = ComicLoader.loadDocument("chief-obrien-at-work.html", "http://chiefobrienatwork.com/");
23         }
24
25         @Test
26         public void filterCanParseComics() {
27                 MatcherAssert.assertThat(filter.extractImageUrls(document), Matchers.contains("http://41.media.tumblr.com/db92f4218b8a100f216863ce980e19a9/tumblr_njaewe7vNU1tjd8fao1_1280.jpg"));
28         }
29
30         @Test
31         public void filterReturnsEmptyListForImageComments() {
32                 MatcherAssert.assertThat(filter.extractImageComments(document), Matchers.empty());
33         }
34
35         @Test
36         public void filterCanParseComicTitles() {
37                 MatcherAssert.assertThat(filter.extractTitle(document), Matchers.is(Optional.of("EPISODE 60: Being Human\u00a0")));
38         }
39
40 }