61d5c318cb5e83f7f66162b4e5188bfb25723231
[rhynodge.git] / src / test / kotlin / net / pterodactylus / rhynodge / filters / comics / ChiefOBrienAtWorkComicFilterTest.kt
1 package net.pterodactylus.rhynodge.filters.comics
2
3 import com.google.common.base.Optional
4 import net.pterodactylus.rhynodge.filters.ResourceLoader
5 import org.hamcrest.MatcherAssert.assertThat
6 import org.hamcrest.Matchers.contains
7 import org.hamcrest.Matchers.empty
8 import org.hamcrest.Matchers.equalTo
9 import org.jsoup.nodes.Document
10 import org.junit.Test
11
12 /**
13  * Unit test for [ChiefOBrienAtWorkComicFilter].
14  */
15 class ChiefOBrienAtWorkComicFilterTest {
16
17         @Test
18         fun `image url is parsed correctly`() {
19                 assertThat(filter.extractImageUrls(document), contains("http://41.media.tumblr.com/db92f4218b8a100f216863ce980e19a9/tumblr_njaewe7vNU1tjd8fao1_1280.jpg"))
20         }
21
22         @Test
23         fun `image comments are parsed correctly`() {
24                 assertThat(filter.extractImageComments(document), empty())
25         }
26
27         @Test
28         fun `comic titles are parsed correctly`() {
29                 assertThat(filter.extractTitle(document), equalTo(Optional.of("EPISODE 60: Being Human")))
30         }
31
32         private val filter = ChiefOBrienAtWorkComicFilter()
33
34 }
35
36 private val document: Document = ResourceLoader.loadDocument(ChiefOBrienAtWorkComicFilterTest::class.java, "chief-obrien-at-work.html", "http://chiefobrienatwork.com/")