From bb95d04dc5b88ee9cdee57ff550fc47750be8632 Mon Sep 17 00:00:00 2001 From: Yahor Berdnikau Date: Sat, 16 Sep 2017 20:02:44 +0200 Subject: [PATCH] Add method to convert list of Albums to MusicDirectory Entry list. Signed-off-by: Yahor Berdnikau --- .../org/moire/ultrasonic/data/APIAlbumConverter.kt | 2 ++ .../moire/ultrasonic/data/APIAlbumConverterTest.kt | 14 ++++++++++++++ 2 files changed, 16 insertions(+) diff --git a/ultrasonic/src/main/kotlin/org/moire/ultrasonic/data/APIAlbumConverter.kt b/ultrasonic/src/main/kotlin/org/moire/ultrasonic/data/APIAlbumConverter.kt index c9fb3bef..2dceb692 100644 --- a/ultrasonic/src/main/kotlin/org/moire/ultrasonic/data/APIAlbumConverter.kt +++ b/ultrasonic/src/main/kotlin/org/moire/ultrasonic/data/APIAlbumConverter.kt @@ -23,3 +23,5 @@ fun Album.toDomainEntity(): MusicDirectory.Entry = MusicDirectory.Entry().apply fun Album.toMusicDirectoryDomainEntity(): MusicDirectory = MusicDirectory().apply { addAll(this@toMusicDirectoryDomainEntity.songList.map { it.toDomainEntity() }) } + +fun List.toDomainEntityList(): List = this.map { it.toDomainEntity() } diff --git a/ultrasonic/src/test/kotlin/org/moire/ultrasonic/data/APIAlbumConverterTest.kt b/ultrasonic/src/test/kotlin/org/moire/ultrasonic/data/APIAlbumConverterTest.kt index 4ab75e2a..6324b480 100644 --- a/ultrasonic/src/test/kotlin/org/moire/ultrasonic/data/APIAlbumConverterTest.kt +++ b/ultrasonic/src/test/kotlin/org/moire/ultrasonic/data/APIAlbumConverterTest.kt @@ -51,4 +51,18 @@ class APIAlbumConverterTest { children[0] `should equal` entity.songList[0].toDomainEntity() } } + + @Test + fun `Should convert list of Album entities to domain list entities`() { + val entityList = listOf(Album(id = 455), Album(id = 1), Album(id = 1000)) + + val convertedList = entityList.toDomainEntityList() + + with(convertedList) { + size `should equal to` entityList.size + forEachIndexed { index, entry -> + entry `should equal` entityList[index].toDomainEntity() + } + } + } }