From b46d799382db277599a2f2dea381643a7ebc091a Mon Sep 17 00:00:00 2001 From: Sad Ellie Date: Sun, 11 Dec 2022 16:08:41 +0400 Subject: [PATCH] Add brackets to formatter --- app/src/main/java/com/sadellie/unitto/screens/Utils.kt | 4 +++- .../test/java/com/sadellie/unitto/screens/FormatterTest.kt | 4 ++++ 2 files changed, 7 insertions(+), 1 deletion(-) diff --git a/app/src/main/java/com/sadellie/unitto/screens/Utils.kt b/app/src/main/java/com/sadellie/unitto/screens/Utils.kt index 089822ee..fa9e6433 100644 --- a/app/src/main/java/com/sadellie/unitto/screens/Utils.kt +++ b/app/src/main/java/com/sadellie/unitto/screens/Utils.kt @@ -24,6 +24,8 @@ import android.net.Uri import com.sadellie.unitto.data.KEY_COMMA import com.sadellie.unitto.data.KEY_DOT import com.sadellie.unitto.data.KEY_E +import com.sadellie.unitto.data.KEY_LEFT_BRACKET +import com.sadellie.unitto.data.KEY_RIGHT_BRACKET import com.sadellie.unitto.data.OPERATORS import com.sadellie.unitto.data.preferences.OutputFormat import com.sadellie.unitto.data.preferences.Separator @@ -83,7 +85,7 @@ object Formatter { // We may receive expressions // Find all numbers in that expression val allNumbers: List = input.split( - *OPERATORS.toTypedArray() + *OPERATORS.toTypedArray(), KEY_LEFT_BRACKET, KEY_RIGHT_BRACKET ) allNumbers.forEach { diff --git a/app/src/test/java/com/sadellie/unitto/screens/FormatterTest.kt b/app/src/test/java/com/sadellie/unitto/screens/FormatterTest.kt index 3b06da30..a3553ce2 100644 --- a/app/src/test/java/com/sadellie/unitto/screens/FormatterTest.kt +++ b/app/src/test/java/com/sadellie/unitto/screens/FormatterTest.kt @@ -31,6 +31,7 @@ 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-√9*4^9+2×(9+8×7)" +private const val SOME_BRACKETS = "((((((((" class FormatterTest { @@ -45,6 +46,7 @@ class FormatterTest { 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-√9*4^9+2×(9+8×7)", formatter.format(COMPLETE_EXPR)) + assertEquals("((((((((", formatter.format(SOME_BRACKETS)) } @Test @@ -58,6 +60,7 @@ class FormatterTest { 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-√9*4^9+2×(9+8×7)", formatter.format(COMPLETE_EXPR)) + assertEquals("((((((((", formatter.format(SOME_BRACKETS)) } @Test @@ -71,6 +74,7 @@ class FormatterTest { 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-√9*4^9+2×(9+8×7)", formatter.format(COMPLETE_EXPR)) + assertEquals("((((((((", formatter.format(SOME_BRACKETS)) } } \ No newline at end of file