aboutsummaryrefslogtreecommitdiff
path: root/src/test/java/de/hysky/skyblocker/utils/CalculatorTest.java
diff options
context:
space:
mode:
authorAaron <51387595+AzureAaron@users.noreply.github.com>2024-05-14 17:04:03 -0400
committerGitHub <noreply@github.com>2024-05-14 17:04:03 -0400
commit992ee43a9e5d78b9613f597923e20f0be4a49f63 (patch)
tree7768069aacbbfb255836fd131ca02235d6c56dfe /src/test/java/de/hysky/skyblocker/utils/CalculatorTest.java
parentcfff7e13191e8c70c8535b831a13b40ce2888ba6 (diff)
parent7edaa418067580434ef189a361a6802faabb3b1e (diff)
downloadSkyblocker-992ee43a9e5d78b9613f597923e20f0be4a49f63.tar.gz
Skyblocker-992ee43a9e5d78b9613f597923e20f0be4a49f63.tar.bz2
Skyblocker-992ee43a9e5d78b9613f597923e20f0be4a49f63.zip
Merge pull request #686 from olim88/sign-calculator
Sign calculator
Diffstat (limited to 'src/test/java/de/hysky/skyblocker/utils/CalculatorTest.java')
-rw-r--r--src/test/java/de/hysky/skyblocker/utils/CalculatorTest.java31
1 files changed, 31 insertions, 0 deletions
diff --git a/src/test/java/de/hysky/skyblocker/utils/CalculatorTest.java b/src/test/java/de/hysky/skyblocker/utils/CalculatorTest.java
new file mode 100644
index 00000000..c29efdf2
--- /dev/null
+++ b/src/test/java/de/hysky/skyblocker/utils/CalculatorTest.java
@@ -0,0 +1,31 @@
+package de.hysky.skyblocker.utils;
+
+import org.junit.jupiter.api.Assertions;
+import org.junit.jupiter.api.Test;
+
+public class CalculatorTest {
+ @Test
+ void testShorthands() {
+ Assertions.assertEquals(Calculator.calculate("1k"), 1000);
+ Assertions.assertEquals(Calculator.calculate("0.12k"), 120);
+ Assertions.assertEquals(Calculator.calculate("1k + 0.12k"), 1120);
+ Assertions.assertEquals(Calculator.calculate("1 + 1s + 1k + 1m + 1b"), 1001001065);
+ }
+
+ @Test
+ void testPrecedence() {
+ Assertions.assertEquals(Calculator.calculate("5 + 2 * 2"), 9);
+ Assertions.assertEquals(Calculator.calculate("5 - 2 / 2"), 4);
+ Assertions.assertEquals(Calculator.calculate("5 * (1 + 2)"), 15);
+ }
+
+ @Test
+ void testImplicitMultiplication() {
+ Assertions.assertEquals(Calculator.calculate("5(2 + 2)"), 20);
+ }
+
+ @Test
+ void testImplicitClosingParenthesis() {
+ Assertions.assertEquals(Calculator.calculate("5(2 + 2"), 20);
+ }
+}