ultrasonic-app-subsonic-and.../core/subsonic-api/src/test/kotlin/org/moire/ultrasonic/api/subsonic/models/AlbumListTypeTest.kt

42 lines
1.1 KiB
Kotlin

package org.moire.ultrasonic.api.subsonic.models
import java.util.Locale
import org.amshove.kluent.`should be equal to`
import org.amshove.kluent.`should throw`
import org.junit.Test
/**
* Unit test for [AlbumListType] class.
*/
class AlbumListTypeTest {
@Test
fun `Should create type from string ignoring case`() {
val type = AlbumListType.SORTED_BY_NAME.typeName.lowercase(Locale.ROOT)
val albumListType = AlbumListType.fromName(type)
albumListType `should be equal to` AlbumListType.SORTED_BY_NAME
}
@Test
fun `Should throw IllegalArgumentException for unknown type`() {
val failCall = {
AlbumListType.fromName("some-not-existing-type")
}
failCall `should throw` IllegalArgumentException::class
}
@Test
fun `Should convert type string to corresponding AlbumListType`() {
AlbumListType.values().forEach {
AlbumListType.fromName(it.typeName) `should be equal to` it
}
}
@Test
fun `Should return type name for toString call`() {
AlbumListType.STARRED.typeName `should be equal to` AlbumListType.STARRED.toString()
}
}