X-Git-Url: https://git.pterodactylus.net/?a=blobdiff_plain;f=src%2Ftest%2Fkotlin%2Fnet%2Fpterodactylus%2Frhynodge%2Fwebpages%2Fweather%2Fwettercom%2FWetterComTriggerTest.kt;fp=src%2Ftest%2Fkotlin%2Fnet%2Fpterodactylus%2Frhynodge%2Fwebpages%2Fweather%2Fwettercom%2FWetterComTriggerTest.kt;h=0000000000000000000000000000000000000000;hb=dfa6f1aaf82fd4913281b908da37b7c1ba54fc4d;hp=aa69a074702caf118384716cfc2c6496c8a631d9;hpb=1fa3a25a6851da90a2f30fd22a97a13b26dd1b6e;p=rhynodge.git diff --git a/src/test/kotlin/net/pterodactylus/rhynodge/webpages/weather/wettercom/WetterComTriggerTest.kt b/src/test/kotlin/net/pterodactylus/rhynodge/webpages/weather/wettercom/WetterComTriggerTest.kt deleted file mode 100644 index aa69a07..0000000 --- a/src/test/kotlin/net/pterodactylus/rhynodge/webpages/weather/wettercom/WetterComTriggerTest.kt +++ /dev/null @@ -1,86 +0,0 @@ -package net.pterodactylus.rhynodge.webpages.weather.wettercom - -import net.pterodactylus.rhynodge.Reaction -import net.pterodactylus.rhynodge.webpages.weather.HourState -import net.pterodactylus.rhynodge.webpages.weather.WindDirection -import org.hamcrest.MatcherAssert.assertThat -import org.hamcrest.Matchers.`is` -import org.hamcrest.Matchers.containsString -import org.junit.Test -import org.mockito.Mockito -import java.time.ZoneId -import java.time.ZonedDateTime - -/** - * Unit test for [WetterComTrigger]. - - * @author [David ‘Bombe’ Roden](mailto:bombe@pterodactylus.net) - */ -class WetterComTriggerTest { - - private val trigger = WetterComTrigger() - private val now = ZonedDateTime.now() - private val previousState = WetterComState(now) - - @Test - fun equalStatesAreNotMerged() { - val currentState = WetterComState(now) - val newState = trigger.mergeStates(previousState, currentState) as WetterComState - assertThat(newState, `is`(previousState)) - assertThat(newState, `is`(currentState)) - } - - @Test - fun currentStateIsReturnedIfDifferentFromPreviousState() { - val currentState = WetterComState(now.minusDays(1)) - val newState = trigger.mergeStates(previousState, currentState) as WetterComState - assertThat(newState, `is`(currentState)) - } - - @Test - fun mergingEqualStatesDoesNotTrigger() { - val currentState = WetterComState(now) - trigger.mergeStates(previousState, currentState) as WetterComState - assertThat(trigger.triggers(), `is`(false)) - } - - @Test - fun mergingDifferentStatesDoesTrigger() { - val currentState = WetterComState(now.minusDays(1)) - trigger.mergeStates(previousState, currentState) as WetterComState - assertThat(trigger.triggers(), `is`(true)) - } - - @Test - fun outputSummaryContainsCorrectDate() { - val currentState = WetterComState(ZonedDateTime.of(2000, 1, 1, 5, 0, 0, 0, ZoneId.of("Europe/Berlin"))) - trigger.mergeStates(previousState, currentState) as WetterComState - val reaction = Mockito.mock(Reaction::class.java) - val output = trigger.output(reaction) - assertThat(output.summary(), `is`("The weather (according to wetter.com) on January 1, 2000")) - } - - @Test - fun outputHtmlContainsHourStates() { - val currentState = WetterComState(now.minusDays(1)) - currentState += HourState(0, 10, null, 0.11, 12.0, WindDirection.NORTH, 13, null, null, "Rain", "http://1") - currentState += HourState(1, 14, null, 0.15, 16.0, WindDirection.SOUTH, 17, null, null, "Sun", "http://2") - trigger.mergeStates(previousState, currentState) as WetterComState - val reaction = Mockito.mock(Reaction::class.java) - val output = trigger.output(reaction) - val htmlText = output.text("text/html", -1) - assertThat(htmlText, containsString("10 °C")) - assertThat(htmlText, containsString("11%")) - assertThat(htmlText, containsString("12 l/m")) - assertThat(htmlText, containsString("13 km/h")) - assertThat(htmlText, containsString("Rain")) - assertThat(htmlText, containsString("http://1")) - assertThat(htmlText, containsString("14 °C")) - assertThat(htmlText, containsString("15%")) - assertThat(htmlText, containsString("16 l/m")) - assertThat(htmlText, containsString("17 km/h")) - assertThat(htmlText, containsString("Sun")) - assertThat(htmlText, containsString("http://2")) - } - -}