1 package net.pterodactylus.sone.template
3 import net.pterodactylus.sone.data.impl.*
4 import org.hamcrest.MatcherAssert.assertThat
5 import org.hamcrest.Matchers.equalTo
6 import org.hamcrest.Matchers.nullValue
10 * Unit test for [ImageAccessor].
12 class ImageAccessorTest {
14 private val accessor = ImageAccessor()
17 fun `accessor returns next image for first image`() {
18 assertThat(accessor.get(null, images[0], "next"), equalTo<Any>(images[1]))
22 fun `accessor returns null for next image of second image`() {
23 assertThat(accessor.get(null, images[1], "next"), nullValue())
27 fun `accessor returns previous image for second image`() {
28 assertThat(accessor.get(null, images[1], "previous"), equalTo<Any>(images[0]))
32 fun `accessor returns null for previous image of first image`() {
33 assertThat(accessor.get(null, images[0], "previous"), nullValue())
37 fun `accessor uses reflection accessor for all other members`() {
38 assertThat(accessor.get(null, images[0], "hashCode"), equalTo<Any>(images[0].hashCode()))
43 private val sone = IdOnlySone("sone")
44 private val album = AlbumImpl(sone)
45 private val images = listOf(ImageImpl().modify().setSone(sone).update(), ImageImpl().modify().setSone(sone).update()).onEach(album::addImage)