Skip to content

Instantly share code, notes, and snippets.

@hanihashemi
Created August 11, 2018 12:27
Show Gist options
  • Save hanihashemi/fe5d48a9a43f6061fc5453e40cb50101 to your computer and use it in GitHub Desktop.
Save hanihashemi/fe5d48a9a43f6061fc5453e40cb50101 to your computer and use it in GitHub Desktop.
Room FloatList converter
import android.arch.persistence.room.TypeConverter
class FloatConverter {
@TypeConverter
fun stringToListOfFloat(value: String): List<Float> {
return value.split(",").map { it.toFloat() }
}
@TypeConverter
fun listOfFloatToString(list: List<Float>): String {
return list.joinToString(",")
}
}
==================================
==============TEST================
==================================
import org.hamcrest.Matchers.`is`
import org.junit.Assert.assertEquals
import org.junit.Assert.assertThat
import org.junit.Test
class FloatConverterTest {
@Test
fun stringToListOfFloat() {
val numbers = "1, 2, 2.2, 20"
val expected = listOf(1F, 2F, 2.2F, 20F)
assertThat(FloatConverter().stringToListOfFloat(numbers), `is`(expected))
}
@Test
fun listOfFloatToString() {
val floatList = listOf(1F, 2F, 2.2F, 20F)
val expected = "1.0,2.0,2.2,20.0"
assertEquals(expected, FloatConverter().listOfFloatToString(floatList))
}
}
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment