X-Git-Url: https://git.pterodactylus.net/?p=Sone.git;a=blobdiff_plain;f=src%2Ftest%2Fkotlin%2Fnet%2Fpterodactylus%2Fsone%2Fdata%2FAlbumsTest.kt;h=6044fd1fe85b1c17ce0a01c234f47869395c2173;hp=26af4e99829531322c47956eb0e735d17eba564a;hb=2b7b9baa754ba9d4a41b0abfaf946bd9146a10c9;hpb=d98bd42433b94ba26460ca99495805dca3b06481 diff --git a/src/test/kotlin/net/pterodactylus/sone/data/AlbumsTest.kt b/src/test/kotlin/net/pterodactylus/sone/data/AlbumsTest.kt index 26af4e9..6044fd1 100644 --- a/src/test/kotlin/net/pterodactylus/sone/data/AlbumsTest.kt +++ b/src/test/kotlin/net/pterodactylus/sone/data/AlbumsTest.kt @@ -45,4 +45,21 @@ class AlbumsTest { private fun createImage(sone: IdOnlySone, id: String) = ImageImpl(id).modify().setSone(sone).update() + @Test + fun `allAlbums returns itself and all its subalbums`() { + val sone = IdOnlySone("sone") + val album = AlbumImpl(sone) + val firstNestedAlbum = AlbumImpl(sone) + val secondNestedAlbum = AlbumImpl(sone) + val albumNestedInFirst = AlbumImpl(sone) + album.addAlbum(firstNestedAlbum) + album.addAlbum(secondNestedAlbum) + firstNestedAlbum.addAlbum(albumNestedInFirst) + val albums = album.allAlbums + assertThat(albums, containsInAnyOrder(album, firstNestedAlbum, secondNestedAlbum, albumNestedInFirst)) + assertThat(albums.indexOf(firstNestedAlbum), greaterThan(albums.indexOf(album))) + assertThat(albums.indexOf(secondNestedAlbum), greaterThan(albums.indexOf(album))) + assertThat(albums.indexOf(albumNestedInFirst), greaterThan(albums.indexOf(firstNestedAlbum))) + } + }