mirror of
https://github.com/Myzel394/NumberHub.git
synced 2025-06-19 08:45:27 +02:00
Fixed formatter
This commit is contained in:
parent
12cb52465e
commit
d544a959f0
@ -55,8 +55,11 @@ const val KEY_SQRT = "√"
|
||||
val OPERATORS = listOf(
|
||||
KEY_PLUS,
|
||||
KEY_MINUS,
|
||||
KEY_MINUS_DISPLAY,
|
||||
KEY_MULTIPLY,
|
||||
KEY_MULTIPLY_DISPLAY,
|
||||
KEY_DIVIDE,
|
||||
KEY_DIVIDE_DISPLAY,
|
||||
KEY_SQRT,
|
||||
KEY_EXPONENT,
|
||||
)
|
||||
|
@ -22,15 +22,9 @@ import android.content.Context
|
||||
import android.content.Intent
|
||||
import android.net.Uri
|
||||
import com.sadellie.unitto.data.KEY_COMMA
|
||||
import com.sadellie.unitto.data.KEY_DIVIDE
|
||||
import com.sadellie.unitto.data.KEY_DIVIDE_DISPLAY
|
||||
import com.sadellie.unitto.data.KEY_DOT
|
||||
import com.sadellie.unitto.data.KEY_E
|
||||
import com.sadellie.unitto.data.KEY_MINUS
|
||||
import com.sadellie.unitto.data.KEY_MINUS_DISPLAY
|
||||
import com.sadellie.unitto.data.KEY_MULTIPLY
|
||||
import com.sadellie.unitto.data.KEY_MULTIPLY_DISPLAY
|
||||
import com.sadellie.unitto.data.KEY_PLUS
|
||||
import com.sadellie.unitto.data.OPERATORS
|
||||
import com.sadellie.unitto.data.preferences.OutputFormat
|
||||
import com.sadellie.unitto.data.preferences.Separator
|
||||
import com.sadellie.unitto.data.units.AbstractUnit
|
||||
@ -89,16 +83,14 @@ object Formatter {
|
||||
// We may receive expressions
|
||||
// Find all numbers in that expression
|
||||
val allNumbers: List<String> = input.split(
|
||||
KEY_MINUS, KEY_DIVIDE, KEY_PLUS, KEY_MULTIPLY
|
||||
*OPERATORS.toTypedArray()
|
||||
)
|
||||
|
||||
allNumbers.forEach {
|
||||
output = output.replace(it, formatNumber(it))
|
||||
}
|
||||
|
||||
return output.replace(KEY_MINUS, KEY_MINUS_DISPLAY)
|
||||
.replace(KEY_DIVIDE, KEY_DIVIDE_DISPLAY)
|
||||
.replace(KEY_MULTIPLY, KEY_MULTIPLY_DISPLAY)
|
||||
return output
|
||||
}
|
||||
|
||||
/**
|
||||
|
@ -29,8 +29,8 @@ private const val ENG_VALUE_FRACTIONAL = "123.3E+21"
|
||||
private const val COMPLETE_VALUE = "123456.789"
|
||||
private const val INCOMPLETE_VALUE = "123456."
|
||||
private const val NO_FRACTIONAL_VALUE = "123456"
|
||||
private const val INCOMPLETE_EXPR = "50+123456/8*0.8-12+"
|
||||
private const val COMPLETE_EXPR = "50+123456/8*0.8-12+0"
|
||||
private const val INCOMPLETE_EXPR = "50+123456÷8×0.8–12+"
|
||||
private const val COMPLETE_EXPR = "50+123456÷8×0.8–12+0-√9*4^9+2×(9+8×7)"
|
||||
|
||||
class FormatterTest {
|
||||
|
||||
@ -44,7 +44,7 @@ class FormatterTest {
|
||||
assertEquals("123 456.", formatter.format(INCOMPLETE_VALUE))
|
||||
assertEquals("123 456", formatter.format(NO_FRACTIONAL_VALUE))
|
||||
assertEquals("50+123 456÷8×0.8–12+", formatter.format(INCOMPLETE_EXPR))
|
||||
assertEquals("50+123 456÷8×0.8–12+0", formatter.format(COMPLETE_EXPR))
|
||||
assertEquals("50+123 456÷8×0.8–12+0-√9*4^9+2×(9+8×7)", formatter.format(COMPLETE_EXPR))
|
||||
}
|
||||
|
||||
@Test
|
||||
@ -57,7 +57,7 @@ class FormatterTest {
|
||||
assertEquals("123,456.", formatter.format(INCOMPLETE_VALUE))
|
||||
assertEquals("123,456", formatter.format(NO_FRACTIONAL_VALUE))
|
||||
assertEquals("50+123,456÷8×0.8–12+", formatter.format(INCOMPLETE_EXPR))
|
||||
assertEquals("50+123,456÷8×0.8–12+0", formatter.format(COMPLETE_EXPR))
|
||||
assertEquals("50+123,456÷8×0.8–12+0-√9*4^9+2×(9+8×7)", formatter.format(COMPLETE_EXPR))
|
||||
}
|
||||
|
||||
@Test
|
||||
@ -70,7 +70,7 @@ class FormatterTest {
|
||||
assertEquals("123.456,", formatter.format(INCOMPLETE_VALUE))
|
||||
assertEquals("123.456", formatter.format(NO_FRACTIONAL_VALUE))
|
||||
assertEquals("50+123.456÷8×0,8–12+", formatter.format(INCOMPLETE_EXPR))
|
||||
assertEquals("50+123.456÷8×0,8–12+0", formatter.format(COMPLETE_EXPR))
|
||||
assertEquals("50+123.456÷8×0,8–12+0-√9*4^9+2×(9+8×7)", formatter.format(COMPLETE_EXPR))
|
||||
}
|
||||
|
||||
}
|
Loading…
x
Reference in New Issue
Block a user