diff options
author | Maël Gassmann <mael.gassmann@students.bfh.ch> | 2021-06-11 18:22:23 +0200 |
---|---|---|
committer | Maël Gassmann <mael.gassmann@students.bfh.ch> | 2021-06-11 18:22:23 +0200 |
commit | 3baa44f1c8459713a96f4db994ee9905cc4e8df1 (patch) | |
tree | 1f259a1f7441b75b0385a16d649b2285f38a38fb /calculator-java/src/test/java/StatementParserTest.java | |
parent | 98ddff97ec1d092b18ef2d176e83bd92f9671e03 (diff) |
[~] Updated the unit tests to take in account the variables
Diffstat (limited to 'calculator-java/src/test/java/StatementParserTest.java')
-rw-r--r-- | calculator-java/src/test/java/StatementParserTest.java | 36 |
1 files changed, 35 insertions, 1 deletions
diff --git a/calculator-java/src/test/java/StatementParserTest.java b/calculator-java/src/test/java/StatementParserTest.java index 4b2e635..8c2db59 100644 --- a/calculator-java/src/test/java/StatementParserTest.java +++ b/calculator-java/src/test/java/StatementParserTest.java @@ -1,4 +1,3 @@ -import ch.bfh.CalculatorLexer; import ch.bfh.parser.StatementParser; import org.junit.Test; @@ -86,6 +85,41 @@ public class StatementParserTest { assertEquals(6.75, sp.getValue(), 0.0); } + @Test + public void variableTest() { + sp.parseStatement("let a = 5"); + assertEquals(5.0, sp.getValue(), 0.0); + + sp.parseStatement("a"); + assertEquals(5.0, sp.getValue(), 0.0); + + sp.parseStatement("(a)"); + assertEquals(5.0, sp.getValue(), 0.0); + + sp.parseStatement("-a"); + assertEquals(-5.0, sp.getValue(), 0.0); + + sp.parseStatement("-(a)"); + assertEquals(-5.0, sp.getValue(), 0.0); + + sp.parseStatement("-(-a)"); + assertEquals(5.0, sp.getValue(), 0.0); + + sp.parseStatement("let b=5*50"); + assertEquals(250.0, sp.getValue(), 0.0); + + sp.parseStatement("b/a"); + assertEquals(50.0, sp.getValue(), 0.0); + + sp.parseStatement("b+a/2"); + assertEquals(252.5, sp.getValue(), 0.0); + + sp.parseStatement("let z = b+a/2"); + assertEquals(252.5, sp.getValue(), 0.0); + + sp.parseStatement("let a = b+a"); + assertEquals(255.0, sp.getValue(), 0.0); + } //TODO - test error detection } |