Replace AbstractSoneCommand with Kotlin version
[Sone.git] / src / test / kotlin / net / pterodactylus / sone / fcp / GetLocalSonesCommandTest.kt
index e3cda98..7fd8db3 100644 (file)
@@ -1,9 +1,6 @@
 package net.pterodactylus.sone.fcp
 
 import net.pterodactylus.sone.core.Core
-import net.pterodactylus.sone.data.Profile
-import net.pterodactylus.sone.data.Sone
-import net.pterodactylus.sone.test.mock
 import net.pterodactylus.sone.test.whenever
 import org.hamcrest.MatcherAssert.assertThat
 import org.hamcrest.Matchers.equalTo
@@ -14,42 +11,26 @@ import org.junit.Test
  */
 class GetLocalSonesCommandTest : SoneCommandTest() {
 
+       private val sone1 = createSone("Id1", "Name1", "First1", "Last1", 1000L)
+       private val sone2 = createSone("Id2", "Name2", "First2", "Last2", 2000L)
+
        override fun createCommand(core: Core) = GetLocalSonesCommand(core)
 
        @Test
        fun `command does not require write access`() {
-               assertThat(command.requiresWriteAccess(), equalTo(false))
-       }
-
-       private fun createSone(id: String, name: String, firstName: String, lastName: String, time: Long) = mock<Sone>().apply {
-               whenever(this.id).thenReturn(id)
-               whenever(this.name).thenReturn(name)
-               whenever(profile).thenReturn(Profile(this).apply {
-                       this.firstName = firstName
-                       this.lastName = lastName
-               })
-               whenever(this.time).thenReturn(time)
+               assertThat(command.requiresWriteAccess, equalTo(false))
        }
 
        @Test
        fun `command returns local sones`() {
-               val localSones = setOf(
-                               createSone("Id1", "Name1", "First1", "Last1", 1000L),
-                               createSone("Id2", "Name2", "First2", "Last2", 2000L)
-               )
+               val localSones = setOf(sone1, sone2)
                whenever(core.localSones).thenReturn(localSones)
                val response = command.execute(null)
                val replyParameters = response.replyParameters
                assertThat(replyParameters["Message"], equalTo("ListLocalSones"))
                assertThat(replyParameters["LocalSones.Count"], equalTo("2"))
-               assertThat(replyParameters["LocalSones.0.ID"], equalTo("Id1"))
-               assertThat(replyParameters["LocalSones.0.Name"], equalTo("Name1"))
-               assertThat(replyParameters["LocalSones.0.NiceName"], equalTo("First1 Last1"))
-               assertThat(replyParameters["LocalSones.0.Time"], equalTo("1000"))
-               assertThat(replyParameters["LocalSones.1.ID"], equalTo("Id2"))
-               assertThat(replyParameters["LocalSones.1.Name"], equalTo("Name2"))
-               assertThat(replyParameters["LocalSones.1.NiceName"], equalTo("First2 Last2"))
-               assertThat(replyParameters["LocalSones.1.Time"], equalTo("2000"))
+               assertThat(replyParameters.parseSone("LocalSones.0."), matchesSone(sone1))
+               assertThat(replyParameters.parseSone("LocalSones.1."), matchesSone(sone2))
        }
 
 }