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")) } }