ultrasonic-app-subsonic-and.../ultrasonic/src/test/kotlin/org/moire/ultrasonic/domain/APIIndexConverterTest.kt

43 lines
1.3 KiB
Kotlin

@file:Suppress("IllegalIdentifier")
package org.moire.ultrasonic.domain
import org.amshove.kluent.`should be equal to`
import org.junit.Test
import org.moire.ultrasonic.api.subsonic.models.Artist
import org.moire.ultrasonic.api.subsonic.models.Index
import org.moire.ultrasonic.api.subsonic.models.Indexes
/**
* Unit tests for extension functions in [APIIndexesConverter.kt].
*/
class APIIndexConverterTest {
@Test
fun `Should convert Indexes entity`() {
val artistsA = listOf(
Artist(id = "4", name = "AC/DC"),
Artist(id = "45", name = "ABBA")
)
val artistsT = listOf(
Artist(id = "10", name = "Taproot"),
Artist(id = "12", name = "Teebee")
)
val entity = Indexes(
lastModified = 154, ignoredArticles = "Le Tre Ze",
indexList = listOf(
Index(name = "A", artists = artistsA),
Index(name = "T", artists = artistsT)
),
shortcutList = artistsA
)
val convertedEntity = entity.toArtistList()
val expectedArtists = (artistsA + artistsT).map { it.toDomainEntity() }.toMutableList()
with(convertedEntity) {
size `should be equal to` expectedArtists.size
this `should be equal to` expectedArtists
}
}
}