1 package net.pterodactylus.rhynodge.webpages.weather.wettercom
3 import org.hamcrest.MatcherAssert.assertThat
4 import org.hamcrest.Matchers.`is`
6 import java.time.Instant
7 import java.time.LocalDateTime
8 import java.time.ZoneId
11 * Unit test for [WetterComState].
13 * @author [David ‘Bombe’ Roden](mailto:bombe@pterodactylus.net)
15 class WetterComStateTest {
18 fun statesWithoutHoursEqualOneAnother() {
19 val now = Instant.now().atZone(ZoneId.of("UTC"))
20 println("%s %s".format(now, now.javaClass))
21 val firstState = WetterComState(LocalDateTime.from(now))
22 val secondState = WetterComState(LocalDateTime.from(now))
23 assertThat(firstState, `is`(secondState))
27 fun statesWithTheSameHoursAreEqual() {
28 val now = Instant.now().atZone(ZoneId.of("UTC"))
29 println("%s %s".format(now, now.javaClass))
30 val firstState = WetterComState(LocalDateTime.from(now))
31 firstState.addHour(HourState(0, 10.0, 0.05, 0.0, WindDirection.NORTH, 5.0, "Fine", "http://1"))
32 firstState.addHour(HourState(1, 12.0, 0.1, 2.0, WindDirection.WEST, 8.0, "Superb", "http://2"))
33 val secondState = WetterComState(LocalDateTime.from(now))
34 secondState.addHour(HourState(0, 10.0, 0.05, 0.0, WindDirection.NORTH, 5.0, "Fine", "http://1"))
35 secondState.addHour(HourState(1, 12.0, 0.1, 2.0, WindDirection.WEST, 8.0, "Superb", "http://2"))
36 assertThat(firstState, `is`(secondState))