X-Git-Url: https://git.pterodactylus.net/?a=blobdiff_plain;f=src%2Ftest%2Fkotlin%2Fnet%2Fpterodactylus%2Frhynodge%2Ffilters%2Fwebpages%2Fwettercom%2FWetterComFilterTest.kt;fp=src%2Ftest%2Fkotlin%2Fnet%2Fpterodactylus%2Frhynodge%2Ffilters%2Fwebpages%2Fwettercom%2FWetterComFilterTest.kt;h=0000000000000000000000000000000000000000;hb=2330b650352517b47d1c6aa0dc054f6d29164157;hp=ab77d36239b920c9a3d006b6da42a16c6d949e49;hpb=94a45c854613dbabf07b79f18d2b33e5da20c1bc;p=rhynodge.git diff --git a/src/test/kotlin/net/pterodactylus/rhynodge/filters/webpages/wettercom/WetterComFilterTest.kt b/src/test/kotlin/net/pterodactylus/rhynodge/filters/webpages/wettercom/WetterComFilterTest.kt deleted file mode 100644 index ab77d36..0000000 --- a/src/test/kotlin/net/pterodactylus/rhynodge/filters/webpages/wettercom/WetterComFilterTest.kt +++ /dev/null @@ -1,83 +0,0 @@ -package net.pterodactylus.rhynodge.filters.webpages.wettercom - -import net.pterodactylus.rhynodge.State -import net.pterodactylus.rhynodge.filters.ResourceLoader.loadDocument -import net.pterodactylus.rhynodge.filters.webpages.wettercom.WetterComState.WindDirection -import net.pterodactylus.rhynodge.states.FailedState -import net.pterodactylus.rhynodge.states.HtmlState -import org.hamcrest.MatcherAssert.assertThat -import org.hamcrest.Matchers.`is` -import org.hamcrest.Matchers.contains -import org.junit.Rule -import org.junit.Test -import org.junit.rules.ExpectedException -import org.mockito.Mockito.`when` -import org.mockito.Mockito.mock -import java.time.LocalDateTime -import java.time.Month - - -/** - * Unit test for [WetterComFilter]. - * - * @author [David ‘Bombe’ Roden](mailto:bombe@pterodactylus.net) - */ -class WetterComFilterTest { - - @Rule @JvmField val expectedException = ExpectedException.none() - - private val url = "http://www.wetter.com/wetter_aktuell/wettervorhersage/heute/deutschland/hamburg/DE0004130.html" - private val filter = WetterComFilter() - - @Test - fun filterReturnsFailedStateWhenGivenFailedState() { - val exception = mock(Exception::class.java) - val failedState = FailedState(exception) - val newState = filter.filter(failedState) - assertThat(newState.success(), `is`(false)) - assertThat(newState.exception(), `is`(exception as Throwable)) - } - - @Test - fun filterThrowsWhenASuccessfulNonHtmlStateIsGiven() { - val state = mock(State::class.java) - `when`(state.success()).thenReturn(true) - expectedException.expect(IllegalArgumentException::class.java) - filter.filter(state) - } - - @Test - fun filterParsesHtmlCorrectly() { - val document = loadDocument(javaClass, "wetter.com.html", url) - val htmlState = HtmlState(url, document) - val newState = filter.filter(htmlState) as WetterComState - assertThat(newState.dateTime, `is`(LocalDateTime.of(2016, Month.MAY, 23, 5, 0))) - assertThat(newState.hours, contains( - WetterComState.HourState(0, 15.0, 0.65, 0.8, WindDirection.NORTH, 5.0, "leichter Regen-schauer", "http://ls1.wettercomassets.com/wcomv5/images/icons/small/d_80_S.png?201605201518"), - WetterComState.HourState(1, 15.0, 0.7, 0.9, WindDirection.NONE, 5.0, "leichter Regen-schauer", "http://ls1.wettercomassets.com/wcomv5/images/icons/small/d_80_S.png?201605201518"), - WetterComState.HourState(2, 17.0, 0.75, 1.0, WindDirection.NORTHWEST, 5.0, "leichter Regen-schauer", "http://ls1.wettercomassets.com/wcomv5/images/icons/small/d_80_S.png?201605201518"), - WetterComState.HourState(3, 17.0, 0.85, 0.3, WindDirection.NORTHWEST, 5.0, "leichter Regen", "http://ls1.wettercomassets.com/wcomv5/images/icons/small/d_61_S.png?201605201518"), - WetterComState.HourState(4, 19.0, 0.9, 0.3, WindDirection.SOUTHWEST, 5.0, "leichter Regen", "http://ls1.wettercomassets.com/wcomv5/images/icons/small/d_61_S.png?201605201518"), - WetterComState.HourState(5, 20.0, 0.85, 0.3, WindDirection.SOUTHWEST, 7.0, "leichter Regen", "http://ls1.wettercomassets.com/wcomv5/images/icons/small/d_61_S.png?201605201518"), - WetterComState.HourState(6, 20.0, 0.75, 0.3, WindDirection.SOUTHWEST, 11.0, "leichter Regen-schauer", "http://ls1.wettercomassets.com/wcomv5/images/icons/small/d_80_S.png?201605201518"), - WetterComState.HourState(7, 20.0, 0.70, 0.3, WindDirection.WEST, 11.0, "leichter Regen-schauer", "http://ls1.wettercomassets.com/wcomv5/images/icons/small/d_80_S.png?201605201518"), - WetterComState.HourState(8, 20.0, 0.70, 0.2, WindDirection.WEST, 9.0, "leichter Regen-schauer", "http://ls1.wettercomassets.com/wcomv5/images/icons/small/d_80_S.png?201605201518"), - WetterComState.HourState(9, 20.0, 0.70, 0.4, WindDirection.WEST, 5.0, "Regenschauer", "http://ls2.wettercomassets.com/wcomv5/images/icons/small/d_81_S.png?201605201518"), - WetterComState.HourState(10, 20.0, 0.70, 0.4, WindDirection.WEST, 7.0, "Regenschauer", "http://ls2.wettercomassets.com/wcomv5/images/icons/small/d_81_S.png?201605201518"), - WetterComState.HourState(11, 19.0, 0.70, 0.4, WindDirection.WEST, 11.0, "Regenschauer", "http://ls2.wettercomassets.com/wcomv5/images/icons/small/d_81_S.png?201605201518"), - WetterComState.HourState(12, 18.0, 0.70, 0.4, WindDirection.NORTHWEST, 12.0, "Regenschauer", "http://ls2.wettercomassets.com/wcomv5/images/icons/small/d_81_S.png?201605201518"), - WetterComState.HourState(13, 17.0, 0.70, 0.4, WindDirection.NORTHWEST, 11.0, "Regenschauer", "http://ls2.wettercomassets.com/wcomv5/images/icons/small/d_81_S.png?201605201518"), - WetterComState.HourState(14, 16.0, 0.75, 0.4, WindDirection.NORTHWEST, 12.0, "Regenschauer", "http://ls2.wettercomassets.com/wcomv5/images/icons/small/d_81_S.png?201605201518"), - WetterComState.HourState(15, 15.0, 0.85, 0.2, WindDirection.WEST, 12.0, "leichter Regen", "http://ls1.wettercomassets.com/wcomv5/images/icons/small/d_61_S.png?201605201518"), - WetterComState.HourState(16, 14.0, 0.9, 0.2, WindDirection.WEST, 14.0, "leichter Regen", "http://ls2.wettercomassets.com/wcomv5/images/icons/small/n_61_S.png?201605201518"), - WetterComState.HourState(17, 14.0, 0.9, 0.2, WindDirection.NORTHWEST, 12.0, "leichter Regen", "http://ls2.wettercomassets.com/wcomv5/images/icons/small/n_61_S.png?201605201518"), - WetterComState.HourState(18, 14.0, 0.9, 0.2, WindDirection.WEST, 12.0, "leichter Regen", "http://ls2.wettercomassets.com/wcomv5/images/icons/small/n_61_S.png?201605201518"), - WetterComState.HourState(19, 13.0, 0.85, 0.1, WindDirection.NORTHWEST, 11.0, "leichter Regen", "http://ls2.wettercomassets.com/wcomv5/images/icons/small/n_61_S.png?201605201518"), - WetterComState.HourState(20, 13.0, 0.8, 0.01, WindDirection.WEST, 11.0, "leichter Regen", "http://ls2.wettercomassets.com/wcomv5/images/icons/small/n_61_S.png?201605201518"), - WetterComState.HourState(21, 12.0, 0.75, 0.2, WindDirection.WEST, 12.0, "leichter Regen", "http://ls2.wettercomassets.com/wcomv5/images/icons/small/n_61_S.png?201605201518"), - WetterComState.HourState(22, 12.0, 0.75, 0.2, WindDirection.NORTHWEST, 12.0, "leichter Regen", "http://ls2.wettercomassets.com/wcomv5/images/icons/small/n_61_S.png?201605201518"), - WetterComState.HourState(23, 11.0, 0.75, 0.2, WindDirection.NORTHWEST, 12.0, "leichter Regen", "http://ls2.wettercomassets.com/wcomv5/images/icons/small/n_61_S.png?201605201518") - )) - } - -}