From a442eefc1d47fdc66d361a6dc35a9412521626f8 Mon Sep 17 00:00:00 2001 From: olim Date: Thu, 25 Apr 2024 11:53:31 +0100 Subject: add tests add tests for the calculator utility --- .../de/hysky/skyblocker/utils/CalculatorTest.java | 27 ++++++++++++++++++++++ 1 file changed, 27 insertions(+) create mode 100644 src/test/java/de/hysky/skyblocker/utils/CalculatorTest.java (limited to 'src/test/java') 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..9b64c7d3 --- /dev/null +++ b/src/test/java/de/hysky/skyblocker/utils/CalculatorTest.java @@ -0,0 +1,27 @@ +package de.hysky.skyblocker.utils; + +import org.junit.jupiter.api.Assertions; +import org.junit.jupiter.api.Test; + +public class CalculatorTest { + @Test + void testCalculator() { + //check the magnitudes are working + 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); + + //check precedence works + Assertions.assertEquals(Calculator.calculate("5 + 2 * 2"),9); + Assertions.assertEquals(Calculator.calculate("5 - 2 / 2"),4); + Assertions.assertEquals(Calculator.calculate("5 * (1 + 2)"),15); + + //check implicit multiplication + Assertions.assertEquals(Calculator.calculate("5(2 + 2)"),20); + + //check unclosed parenthesis work + Assertions.assertEquals(Calculator.calculate("5(2 + 2"),20); + } + +} -- cgit From ea91129f9e4931c1435c6f294ccc58ff1f75dbdd Mon Sep 17 00:00:00 2001 From: olim Date: Sun, 5 May 2024 12:07:24 +0100 Subject: fix test formatting --- .../de/hysky/skyblocker/utils/CalculatorTest.java | 19 +++++++++---------- 1 file changed, 9 insertions(+), 10 deletions(-) (limited to 'src/test/java') diff --git a/src/test/java/de/hysky/skyblocker/utils/CalculatorTest.java b/src/test/java/de/hysky/skyblocker/utils/CalculatorTest.java index 9b64c7d3..84834c57 100644 --- a/src/test/java/de/hysky/skyblocker/utils/CalculatorTest.java +++ b/src/test/java/de/hysky/skyblocker/utils/CalculatorTest.java @@ -7,21 +7,20 @@ public class CalculatorTest { @Test void testCalculator() { //check the magnitudes are working - 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); + 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); //check precedence works - Assertions.assertEquals(Calculator.calculate("5 + 2 * 2"),9); - Assertions.assertEquals(Calculator.calculate("5 - 2 / 2"),4); - Assertions.assertEquals(Calculator.calculate("5 * (1 + 2)"),15); + Assertions.assertEquals(Calculator.calculate("5 + 2 * 2"), 9); + Assertions.assertEquals(Calculator.calculate("5 - 2 / 2"), 4); + Assertions.assertEquals(Calculator.calculate("5 * (1 + 2)"), 15); //check implicit multiplication - Assertions.assertEquals(Calculator.calculate("5(2 + 2)"),20); + Assertions.assertEquals(Calculator.calculate("5(2 + 2)"), 20); //check unclosed parenthesis work - Assertions.assertEquals(Calculator.calculate("5(2 + 2"),20); + Assertions.assertEquals(Calculator.calculate("5(2 + 2"), 20); } - } -- cgit From 34a804caaebf08c448ac3ced76d265b9a8ba9457 Mon Sep 17 00:00:00 2001 From: Kevinthegreat <92656833+kevinthegreat1@users.noreply.github.com> Date: Sat, 11 May 2024 21:29:26 -0400 Subject: Fix invalid equation text and refactor --- .../java/de/hysky/skyblocker/utils/CalculatorTest.java | 15 ++++++++++----- 1 file changed, 10 insertions(+), 5 deletions(-) (limited to 'src/test/java') diff --git a/src/test/java/de/hysky/skyblocker/utils/CalculatorTest.java b/src/test/java/de/hysky/skyblocker/utils/CalculatorTest.java index 84834c57..c29efdf2 100644 --- a/src/test/java/de/hysky/skyblocker/utils/CalculatorTest.java +++ b/src/test/java/de/hysky/skyblocker/utils/CalculatorTest.java @@ -5,22 +5,27 @@ import org.junit.jupiter.api.Test; public class CalculatorTest { @Test - void testCalculator() { - //check the magnitudes are working + 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); + } - //check precedence works + @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); + } - //check implicit multiplication + @Test + void testImplicitMultiplication() { Assertions.assertEquals(Calculator.calculate("5(2 + 2)"), 20); + } - //check unclosed parenthesis work + @Test + void testImplicitClosingParenthesis() { Assertions.assertEquals(Calculator.calculate("5(2 + 2"), 20); } } -- cgit