Files
Pit-Log-App/app/src/test/java/com/racingapp/pitlog/model/InchesTest.kt
T

32 lines
1.2 KiB
Kotlin

package com.racingapp.pitlog.model
import org.junit.Assert.assertEquals
import org.junit.Assert.assertNull
import org.junit.Test
class InchesTest {
@Test
fun aFractionParsesAndComesBackAsAFraction() {
assertEquals(0.0625, parseInches("1/16")!!, 0.00001)
assertEquals(0.125, parseInches("1/8")!!, 0.00001)
assertEquals(2.5, parseInches("2 1/2")!!, 0.00001)
assertEquals(-0.0625, parseInches("-1/16")!!, 0.00001)
assertEquals(1.125, parseInches("1.125")!!, 0.00001)
assertEquals("1/16", formatInches(parseInches("1/16")))
assertEquals("1/8", formatInches(parseInches("1/8")))
assertEquals("2 1/2", formatInches(parseInches("2 1/2")))
assertEquals("-1/16", formatInches(parseInches("-1/16")))
assertEquals("1 1/8", formatInches(1.125))
}
@Test
fun typingKeepsTheSlashUntilTheFractionIsFinished() {
assertEquals("1/16", sanitizeInches("1/16"))
assertEquals("1/", sanitizeInches("1/"))
assertEquals("2 1/2", sanitizeInches("2 1/2"))
assertEquals("-1/8", sanitizeInches("-1/8", signed = true))
assertNull(parseInches("1/"))
assertNull(parseInches("1/0"))
}
}