From 645728c0f76d1db97470a4989c543948183729d1 Mon Sep 17 00:00:00 2001 From: Yahor Berdnikau Date: Thu, 14 Sep 2017 22:01:55 +0200 Subject: [PATCH] Add converting MusicDirectoryChild list to domain entities list. Signed-off-by: Yahor Berdnikau --- .../ultrasonic/data/APIMusicDirectoryConverter.kt | 2 ++ .../data/APIMusicDirectoryConverterTest.kt | 14 +++++++++++++- 2 files changed, 15 insertions(+), 1 deletion(-) diff --git a/ultrasonic/src/main/kotlin/org/moire/ultrasonic/data/APIMusicDirectoryConverter.kt b/ultrasonic/src/main/kotlin/org/moire/ultrasonic/data/APIMusicDirectoryConverter.kt index b5e98322..496723d5 100644 --- a/ultrasonic/src/main/kotlin/org/moire/ultrasonic/data/APIMusicDirectoryConverter.kt +++ b/ultrasonic/src/main/kotlin/org/moire/ultrasonic/data/APIMusicDirectoryConverter.kt @@ -48,6 +48,8 @@ fun MusicDirectoryChild.toDomainEntity(): MusicDirectory.Entry = MusicDirectory. } } +fun List.toDomainEntityList() = this.map { it.toDomainEntity() } + fun APIMusicDirectory.toDomainEntity(): MusicDirectory = MusicDirectory().apply { name = this@toDomainEntity.name addAll(this@toDomainEntity.childList.map { it.toDomainEntity() }) diff --git a/ultrasonic/src/test/kotlin/org/moire/ultrasonic/data/APIMusicDirectoryConverterTest.kt b/ultrasonic/src/test/kotlin/org/moire/ultrasonic/data/APIMusicDirectoryConverterTest.kt index dbbd6673..b7eb28f5 100644 --- a/ultrasonic/src/test/kotlin/org/moire/ultrasonic/data/APIMusicDirectoryConverterTest.kt +++ b/ultrasonic/src/test/kotlin/org/moire/ultrasonic/data/APIMusicDirectoryConverterTest.kt @@ -71,7 +71,7 @@ class APIMusicDirectoryConverterTest { } @Test - fun `Should convert MusicDirectoryChild podact entity`() { + fun `Should convert MusicDirectoryChild podcast entity`() { val entity = MusicDirectoryChild(id = 584, streamId = 394, artist = "some-artist", publishDate = Calendar.getInstance()) @@ -82,4 +82,16 @@ class APIMusicDirectoryConverterTest { artist `should equal to` dateFormat.format(entity.publishDate?.time) } } + + @Test + fun `Should convert list of MusicDirectoryChild to domain entity list`() { + val entitiesList = listOf(MusicDirectoryChild(id = 45), MusicDirectoryChild(id = 34)) + + val domainList = entitiesList.toDomainEntityList() + + domainList.size `should equal to` entitiesList.size + domainList.forEachIndexed { index, entry -> + entry `should equal` entitiesList[index].toDomainEntity() + } + } }