summaryrefslogtreecommitdiff
path: root/AlgoDesignAndTechniqueEdxJava/tests/PlacingParenTest.java
diff options
context:
space:
mode:
authorHaidong Ji2018-12-28 14:58:39 -0600
committerHaidong Ji2018-12-28 14:58:39 -0600
commit27e7cf18d35a1dc2c8ad2acf9a77b2799d884a43 (patch)
tree4a3b41df51c7690dea3ef84cca077f62eb62326b /AlgoDesignAndTechniqueEdxJava/tests/PlacingParenTest.java
parent993716627a616e821aefd8707230221d0dac6cd7 (diff)
Max exp value with paren done!
Wow, translating the algo into code was tricky! Debugging was challenging, frustrating, and ultimately rewarding. Two debugging takeaways I can think of now: 1. Make the test case small, so it's easy to trace the whole thing through; 2. For bigger test case, the example from lecture notes was helpful. I just needed to set breakpoint intelligently to see the min and max arrays. Also, initializing the min and max value, then use the Math.min and Math.max was interesting. I may need to remember that, that's why I have the notes here!
Diffstat (limited to 'AlgoDesignAndTechniqueEdxJava/tests/PlacingParenTest.java')
-rw-r--r--AlgoDesignAndTechniqueEdxJava/tests/PlacingParenTest.java35
1 files changed, 35 insertions, 0 deletions
diff --git a/AlgoDesignAndTechniqueEdxJava/tests/PlacingParenTest.java b/AlgoDesignAndTechniqueEdxJava/tests/PlacingParenTest.java
new file mode 100644
index 0000000..91885e9
--- /dev/null
+++ b/AlgoDesignAndTechniqueEdxJava/tests/PlacingParenTest.java
@@ -0,0 +1,35 @@
+import static org.junit.jupiter.api.Assertions.*;
+
+import org.junit.jupiter.api.Test;
+
+class PlacingParenTest {
+
+ @Test
+ void test() {
+ String exp = "1+5";
+ assertEquals(6, PlacingParen.getMaxValue(exp));
+ ;
+ }
+
+ @Test
+ void test1() {
+ String exp = "5-8+7*4-8+9";
+ assertEquals(200, PlacingParen.getMaxValue(exp));
+ ;
+ }
+
+ @Test
+ void test2() {
+ String exp = "1+2-3*4-5";
+ assertEquals(6, PlacingParen.getMaxValue(exp));
+ ;
+ }
+
+ @Test
+ void test3() {
+ String exp = "1+2*3";
+ assertEquals(9, PlacingParen.getMaxValue(exp));
+ ;
+ }
+
+}