X-Git-Url: https://git.pterodactylus.net/?p=Sone.git;a=blobdiff_plain;f=src%2Ftest%2Fjava%2Fnet%2Fpterodactylus%2Fsone%2Ftemplate%2FAlbumAccessorTest.java;h=56d2f29596558c5662c4d4fe2ebab53d2fb6fd6f;hp=afc2a544bb1459e491cd7d28b5ad5b5b7337eb88;hb=ffd92ca2374c0b2218e583d02e0bdd24b8c110ae;hpb=0e8f7804ce344bdd69f5ecc7febe25a60a53561d diff --git a/src/test/java/net/pterodactylus/sone/template/AlbumAccessorTest.java b/src/test/java/net/pterodactylus/sone/template/AlbumAccessorTest.java index afc2a54..56d2f29 100644 --- a/src/test/java/net/pterodactylus/sone/template/AlbumAccessorTest.java +++ b/src/test/java/net/pterodactylus/sone/template/AlbumAccessorTest.java @@ -1,17 +1,24 @@ package net.pterodactylus.sone.template; import static org.hamcrest.MatcherAssert.assertThat; +import static org.hamcrest.Matchers.allOf; import static org.hamcrest.Matchers.contains; +import static org.hamcrest.Matchers.greaterThanOrEqualTo; import static org.hamcrest.Matchers.is; +import static org.hamcrest.Matchers.lessThanOrEqualTo; +import static org.hamcrest.Matchers.nullValue; import static org.mockito.Mockito.mock; import static org.mockito.Mockito.when; +import java.util.Arrays; +import java.util.Collections; import java.util.List; -import net.pterodactylus.sone.TestUtil; import net.pterodactylus.sone.data.Album; +import net.pterodactylus.sone.data.Image; import net.pterodactylus.sone.data.Profile; import net.pterodactylus.sone.data.Sone; +import net.pterodactylus.sone.test.TestUtil; import org.hamcrest.Description; import org.hamcrest.Matcher; @@ -90,4 +97,25 @@ public class AlbumAccessorTest { }; } + @Test + public void albumImageIsGeneratedRandomly() { + Image image = mock(Image.class); + List albumImages = Arrays.asList(mock(Image.class), image); + when(album.getImages()).thenReturn(albumImages); + int matchedImage = 0; + for (int i = 0; i < 1000; i++) { + Image randomImage = (Image) albumAccessor.get(null, album, "albumImage"); + if (randomImage == image) { + matchedImage++; + } + } + assertThat(matchedImage, allOf(greaterThanOrEqualTo(250), lessThanOrEqualTo(750))); + } + + @Test + public void albumImageIsNullIfThereAreNoImagesInAnAlbum() { + when(album.getImages()).thenReturn(Collections.emptyList()); + assertThat(albumAccessor.get(null, album, "albumImage"), nullValue()); + } + }