X-Git-Url: https://git.pterodactylus.net/?a=blobdiff_plain;f=src%2Ftest%2Fkotlin%2Fnet%2Fpterodactylus%2Frhynodge%2Fwebpages%2Fweather%2FWeatherTriggerTest.kt;h=c4063cb99802afd5a55d1189d362227f09629bfb;hb=5d962b76adef88663cfa4acc093836c71fe9dd82;hp=ca140c003aa390a35cb96c87386e2a931d233da6;hpb=6d8a3475d8e56cea63d53d456baef434318223a7;p=rhynodge.git diff --git a/src/test/kotlin/net/pterodactylus/rhynodge/webpages/weather/WeatherTriggerTest.kt b/src/test/kotlin/net/pterodactylus/rhynodge/webpages/weather/WeatherTriggerTest.kt index ca140c0..c4063cb 100644 --- a/src/test/kotlin/net/pterodactylus/rhynodge/webpages/weather/WeatherTriggerTest.kt +++ b/src/test/kotlin/net/pterodactylus/rhynodge/webpages/weather/WeatherTriggerTest.kt @@ -1,14 +1,9 @@ package net.pterodactylus.rhynodge.webpages.weather -import net.pterodactylus.rhynodge.Reaction import net.pterodactylus.rhynodge.State import org.hamcrest.MatcherAssert.assertThat import org.hamcrest.Matchers.`is` -import org.hamcrest.Matchers.containsString -import org.hamcrest.Matchers.not import org.junit.Test -import org.mockito.Mockito.mock -import java.io.File import java.time.ZoneId.of import java.time.ZonedDateTime @@ -43,91 +38,4 @@ class WeatherTriggerTest { assertThat(trigger.triggers(), `is`(true)) } - @Test - fun outputContainsCorrectSummary() { - val currentState = WeatherState("Weather", ZonedDateTime.of(2016, 5, 28, 0, 0, 0, 0, of("Europe/Berlin"))) - trigger.mergeStates(previousState, currentState) - val reaction = mock(Reaction::class.java) - val output = trigger.output(reaction) - assertThat(output.summary(), `is`("The Weather (according to Weather) on May 28, 2016")) - } - - @Test - fun outputContainsCorrectHourData() { - val currentState = WeatherState("Weather", ZonedDateTime.of(2016, 5, 28, 0, 0, 0, 0, of("Europe/Berlin"))) - currentState += HourState(0, 10, 11, 0.12, 13.0, WindDirection.SOUTHSOUTHEAST, 14, 15, 0.16, "17", "http://18") - currentState += HourState(1, 20, 21, 0.22, 23.0, WindDirection.NORTHNORTHWEST, 24, 25, 0.26, "27", "http://28") - trigger.mergeStates(previousState, currentState) - val reaction = mock(Reaction::class.java) - val output = trigger.output(reaction) - val htmlText = output.text("text/html") - File("/tmp/wetter.html").writer().use { it.write(htmlText) } - assertThat(htmlText, containsString("00:00")) - assertThat(htmlText, containsString("10 °C")) - assertThat(htmlText, containsString("(11 °C)")) - assertThat(htmlText, containsString("12%")) - assertThat(htmlText, containsString("13 l/m²")) - assertThat(htmlText, containsString("↖↑")) - assertThat(htmlText, containsString("14 km/h")) - assertThat(htmlText, containsString("15 km/h")) - assertThat(htmlText, containsString("16%")) - assertThat(htmlText, containsString("17")) - assertThat(htmlText, containsString("http://18")) - assertThat(htmlText, containsString("01:00")) - assertThat(htmlText, containsString("20 °C")) - assertThat(htmlText, containsString("(21 °C)")) - assertThat(htmlText, containsString("22%")) - assertThat(htmlText, containsString("23 l/m²")) - assertThat(htmlText, containsString("↘↓")) - assertThat(htmlText, containsString("24 km/h")) - assertThat(htmlText, containsString("25 km/h")) - assertThat(htmlText, containsString("26%")) - assertThat(htmlText, containsString("27")) - assertThat(htmlText, containsString("http://28")) - } - - @Test - fun outputContainsColumnHeadersForAllColumns() { - val currentState = WeatherState("Weather", ZonedDateTime.of(2016, 5, 28, 0, 0, 0, 0, of("Europe/Berlin"))) - currentState += HourState(0, 10, 11, 0.12, 13.0, WindDirection.SOUTHSOUTHEAST, 14, 15, 0.16, "17", "http://18") - currentState += HourState(1, 20, 21, 0.22, 23.0, WindDirection.NORTHNORTHWEST, 24, 25, 0.26, "27", "http://28") - trigger.mergeStates(previousState, currentState) - val reaction = mock(Reaction::class.java) - val output = trigger.output(reaction) - val htmlText = output.text("text/html") - assertThat(htmlText, containsString("Time")) - assertThat(htmlText, containsString("Temperature")) - assertThat(htmlText, containsString("feels like")) - assertThat(htmlText, containsString("Chance of Rain")) - assertThat(htmlText, containsString("Amount")) - assertThat(htmlText, containsString("Wind from")) - assertThat(htmlText, containsString("Speed")) - assertThat(htmlText, containsString("Gusts")) - assertThat(htmlText, containsString("Humidity")) - assertThat(htmlText, containsString("Description")) - assertThat(htmlText, containsString("Image")) - } - - @Test - fun outputDoesNotContainColumnHeadersForMissingColumns() { - val currentState = WeatherState("Weather", ZonedDateTime.of(2016, 5, 28, 0, 0, 0, 0, of("Europe/Berlin"))) - currentState += HourState(0, 10, null, 0.12, 13.0, WindDirection.SOUTHSOUTHEAST, 14, null, null, "17", "http://18") - currentState += HourState(1, 20, null, 0.22, 23.0, WindDirection.NORTHNORTHWEST, 24, null, null, "27", "http://28") - trigger.mergeStates(previousState, currentState) - val reaction = mock(Reaction::class.java) - val output = trigger.output(reaction) - val htmlText = output.text("text/html") - assertThat(htmlText, containsString("Time")) - assertThat(htmlText, containsString("Temperature")) - assertThat(htmlText, not(containsString("feels like"))) - assertThat(htmlText, containsString("Chance of Rain")) - assertThat(htmlText, containsString("Amount")) - assertThat(htmlText, containsString("Wind from")) - assertThat(htmlText, containsString("Speed")) - assertThat(htmlText, not(containsString("Gusts"))) - assertThat(htmlText, not(containsString("Humidity"))) - assertThat(htmlText, containsString("Description")) - assertThat(htmlText, containsString("Image")) - } - }