Adds helper for parsing numbers, providing an optional

od
Laurent 6 years ago
parent 26d6ad46a4
commit 5dee5b8d56
  1. 6
      app/src/main/java/net/pokeranalytics/android/model/TableSize.kt
  2. 23
      app/src/main/java/net/pokeranalytics/android/util/Parser.kt
  3. 14
      app/src/test/java/net/pokeranalytics/android/BasicUnitTest.kt

@ -4,6 +4,7 @@ import android.content.Context
import net.pokeranalytics.android.R
import net.pokeranalytics.android.ui.view.RowRepresentable
import net.pokeranalytics.android.ui.view.RowViewType
import net.pokeranalytics.android.util.Parser
class TableSize(var numberOfPlayer: Int, var rowViewType: Int = RowViewType.TITLE_GRID.ordinal) : RowRepresentable {
@ -16,6 +17,11 @@ class TableSize(var numberOfPlayer: Int, var rowViewType: Int = RowViewType.TITL
}
fun valueForLabel(label: String) : Int? {
Parser.parseNumber(label)?.let {
return it.toInt()
}
return when (label) {
"Full Ring", "Full-Ring" -> 10
"Short-Handed", "Short Handed" -> 6

@ -0,0 +1,23 @@
package net.pokeranalytics.android.util
import java.text.NumberFormat
import java.text.ParseException
class Parser {
companion object {
fun parseNumber(string: String) : Number? {
try {
val n = NumberFormat.getInstance().parse(string)
return n
} catch (e: ParseException) {
return null
}
}
}
}

@ -1,8 +1,10 @@
package net.pokeranalytics.android
import net.pokeranalytics.android.util.Parser
import net.pokeranalytics.android.util.extensions.kmbFormatted
import org.junit.Assert
import org.junit.Test
import java.text.NumberFormat
class BasicUnitTest : RealmUnitTest() {
@ -33,4 +35,16 @@ class BasicUnitTest : RealmUnitTest() {
}
@Test
fun testParser() {
val r1 = Parser.parseNumber("2")
Assert.assertNotNull(r1)
Assert.assertEquals(2, r1!!.toInt())
val r2 = Parser.parseNumber("gr")
Assert.assertNull(r2)
}
}

Loading…
Cancel
Save