From f9010ffd22a7490edbdaf6ab5d8b9c7a9c3b8945 Mon Sep 17 00:00:00 2001 From: Askigh Date: Fri, 8 Mar 2019 13:00:36 +0100 Subject: [PATCH] corrected space bug --- src/main/java/net/akami/mask/utils/ExpressionUtils.java | 5 ++++- src/main/java/net/akami/mask/utils/ReducerFactory.java | 1 + src/test/java/net/akami/mask/utils/ExpressionUtilsTest.java | 5 +++++ 3 files changed, 10 insertions(+), 1 deletion(-) diff --git a/src/main/java/net/akami/mask/utils/ExpressionUtils.java b/src/main/java/net/akami/mask/utils/ExpressionUtils.java index 35d2f20..7575525 100644 --- a/src/main/java/net/akami/mask/utils/ExpressionUtils.java +++ b/src/main/java/net/akami/mask/utils/ExpressionUtils.java @@ -203,6 +203,7 @@ private static void clearBuilder() { } public static String cancelMultShortcut(String self) { + self = self.replaceAll("\\s", ""); clearBuilder(); for(int i = 0; i < self.length(); i++) { @@ -210,7 +211,7 @@ public static String cancelMultShortcut(String self) { boolean varOrTrigo = ExpressionUtils.VARIABLES.contains(c) || ExpressionUtils.TRIGONOMETRY_SHORTCUTS.contains(c); if(varOrTrigo && i!= 0 && !ExpressionUtils.MATH_SIGNS.contains(String.valueOf(self.charAt(i-1)))) { - BUILDER.append("*").append(c); + BUILDER.append("*").append(c); } else if(i != 0 && c.equals("(") && (self.charAt(i-1) == ')' || !MATH_SIGNS.contains(String.valueOf(self.charAt(i-1))))) { BUILDER.append("*").append(c); @@ -219,7 +220,9 @@ public static String cancelMultShortcut(String self) { } else { BUILDER.append(c); } + System.out.println(BUILDER); } + System.out.println("Converted : "+self+" to "+BUILDER.toString()); return BUILDER.toString(); } diff --git a/src/main/java/net/akami/mask/utils/ReducerFactory.java b/src/main/java/net/akami/mask/utils/ReducerFactory.java index c719bc2..a8a888c 100644 --- a/src/main/java/net/akami/mask/utils/ReducerFactory.java +++ b/src/main/java/net/akami/mask/utils/ReducerFactory.java @@ -26,6 +26,7 @@ public static String reduce(String exp) { // deletes all the spaces, adds the necessary '*' String localExp = FormatterFactory.formatForCalculations(exp); + System.out.println("Formatted : "+localExp); tree.new Branch(localExp); LOGGER.info("Initial branch added : {}", tree.getBranches().get(0)); diff --git a/src/test/java/net/akami/mask/utils/ExpressionUtilsTest.java b/src/test/java/net/akami/mask/utils/ExpressionUtilsTest.java index 708c074..4f50845 100644 --- a/src/test/java/net/akami/mask/utils/ExpressionUtilsTest.java +++ b/src/test/java/net/akami/mask/utils/ExpressionUtilsTest.java @@ -32,6 +32,11 @@ public void toMonomialsTest() { Assertions.assertThat(toMonomials("0.66y-1.66").toString()).isEqualTo("[0.66y, -1.66]"); } + @Test + public void cancelMultShortcutTest() { + System.out.println(ExpressionUtils.cancelMultShortcut("3x*(4x^2-3x) + 3/4")); + } + @Test public void toVariablesTest() { Assertions.assertThat(toVariables("x^11x")).isEqualTo("x^12");