summaryrefslogtreecommitdiff
path: root/src/test/java/org/unitConverter/math
diff options
context:
space:
mode:
Diffstat (limited to 'src/test/java/org/unitConverter/math')
-rw-r--r--src/test/java/org/unitConverter/math/ConditionalExistenceCollectionsTest.java159
-rw-r--r--src/test/java/org/unitConverter/math/ExpressionParserTest.java52
-rw-r--r--src/test/java/org/unitConverter/math/ObjectProductTest.java78
3 files changed, 0 insertions, 289 deletions
diff --git a/src/test/java/org/unitConverter/math/ConditionalExistenceCollectionsTest.java b/src/test/java/org/unitConverter/math/ConditionalExistenceCollectionsTest.java
deleted file mode 100644
index 311ace5..0000000
--- a/src/test/java/org/unitConverter/math/ConditionalExistenceCollectionsTest.java
+++ /dev/null
@@ -1,159 +0,0 @@
-/**
- * Copyright (C) 2019 Adrien Hopkins
- *
- * This program is free software: you can redistribute it and/or modify
- * it under the terms of the GNU Affero General Public License as published by
- * the Free Software Foundation, either version 3 of the License, or
- * (at your option) any later version.
- *
- * This program is distributed in the hope that it will be useful,
- * but WITHOUT ANY WARRANTY; without even the implied warranty of
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
- * GNU Affero General Public License for more details.
- *
- * You should have received a copy of the GNU Affero General Public License
- * along with this program. If not, see <https://www.gnu.org/licenses/>.
- */
-package org.unitConverter.math;
-
-import static org.junit.jupiter.api.Assertions.assertEquals;
-import static org.junit.jupiter.api.Assertions.assertFalse;
-import static org.junit.jupiter.api.Assertions.assertThrows;
-import static org.junit.jupiter.api.Assertions.assertTrue;
-
-import java.util.Arrays;
-import java.util.HashMap;
-import java.util.Iterator;
-import java.util.List;
-import java.util.Map;
-import java.util.Map.Entry;
-import java.util.NoSuchElementException;
-
-import org.junit.jupiter.api.Test;
-import org.unitConverter.math.ConditionalExistenceCollections.ConditionalExistenceIterator;
-
-/**
- * Tests the {@link #ConditionalExistenceCollections}.
- *
- * @author Adrien Hopkins
- * @since 2019-10-16
- */
-class ConditionalExistenceCollectionsTest {
-
- /**
- * The returned iterator ignores elements that don't start with "a".
- *
- * @return test iterator
- * @since 2019-10-17
- */
- ConditionalExistenceIterator<String> getTestIterator() {
- final List<String> items = Arrays.asList("aa", "ab", "ba");
- final Iterator<String> it = items.iterator();
- final ConditionalExistenceIterator<String> cit = (ConditionalExistenceIterator<String>) ConditionalExistenceCollections
- .conditionalExistenceIterator(it, s -> s.startsWith("a"));
- return cit;
- }
-
- /**
- * The returned map ignores mappings where the value is zero.
- *
- * @return map to be used for test data
- * @since 2019-10-16
- */
- Map<String, Integer> getTestMap() {
- final Map<String, Integer> map = new HashMap<>();
- map.put("one", 1);
- map.put("two", 2);
- map.put("zero", 0);
- map.put("ten", 10);
- final Map<String, Integer> conditionalMap = ConditionalExistenceCollections.conditionalExistenceMap(map,
- e -> !Integer.valueOf(0).equals(e.getValue()));
- return conditionalMap;
- }
-
- /**
- * Test method for {@link org.unitConverter.math.ZeroIsNullMap#containsKey(java.lang.Object)}.
- */
- @Test
- void testContainsKeyObject() {
- final Map<String, Integer> map = this.getTestMap();
- assertTrue(map.containsKey("one"));
- assertTrue(map.containsKey("ten"));
- assertFalse(map.containsKey("five"));
- assertFalse(map.containsKey("zero"));
- }
-
- /**
- * Test method for {@link org.unitConverter.math.ZeroIsNullMap#containsValue(java.lang.Object)}.
- */
- @Test
- void testContainsValueObject() {
- final Map<String, Integer> map = this.getTestMap();
- assertTrue(map.containsValue(1));
- assertTrue(map.containsValue(10));
- assertFalse(map.containsValue(5));
- assertFalse(map.containsValue(0));
- }
-
- /**
- * Test method for {@link org.unitConverter.math.ZeroIsNullMap#entrySet()}.
- */
- @Test
- void testEntrySet() {
- final Map<String, Integer> map = this.getTestMap();
- for (final Entry<String, Integer> e : map.entrySet()) {
- assertTrue(e.getValue() != 0);
- }
- }
-
- /**
- * Test method for {@link org.unitConverter.math.ZeroIsNullMap#get(java.lang.Object)}.
- */
- @Test
- void testGetObject() {
- final Map<String, Integer> map = this.getTestMap();
- assertEquals(1, map.get("one"));
- assertEquals(10, map.get("ten"));
- assertEquals(null, map.get("five"));
- assertEquals(null, map.get("zero"));
- }
-
- @Test
- void testIterator() {
- final ConditionalExistenceIterator<String> testIterator = this.getTestIterator();
-
- assertTrue(testIterator.hasNext);
- assertTrue(testIterator.hasNext());
- assertEquals("aa", testIterator.nextElement);
- assertEquals("aa", testIterator.next());
-
- assertTrue(testIterator.hasNext);
- assertTrue(testIterator.hasNext());
- assertEquals("ab", testIterator.nextElement);
- assertEquals("ab", testIterator.next());
-
- assertFalse(testIterator.hasNext);
- assertFalse(testIterator.hasNext());
- assertEquals(null, testIterator.nextElement);
- assertThrows(NoSuchElementException.class, testIterator::next);
- }
-
- /**
- * Test method for {@link org.unitConverter.math.ZeroIsNullMap#keySet()}.
- */
- @Test
- void testKeySet() {
- final Map<String, Integer> map = this.getTestMap();
- assertFalse(map.keySet().contains("zero"));
- }
-
- /**
- * Test method for {@link org.unitConverter.math.ZeroIsNullMap#values()}.
- */
- @Test
- void testValues() {
- final Map<String, Integer> map = this.getTestMap();
- assertFalse(map.values().contains(0));
- }
-
-}
diff --git a/src/test/java/org/unitConverter/math/ExpressionParserTest.java b/src/test/java/org/unitConverter/math/ExpressionParserTest.java
deleted file mode 100644
index f3180c1..0000000
--- a/src/test/java/org/unitConverter/math/ExpressionParserTest.java
+++ /dev/null
@@ -1,52 +0,0 @@
-/**
- * Copyright (C) 2019 Adrien Hopkins
- *
- * This program is free software: you can redistribute it and/or modify
- * it under the terms of the GNU Affero General Public License as published by
- * the Free Software Foundation, either version 3 of the License, or
- * (at your option) any later version.
- *
- * This program is distributed in the hope that it will be useful,
- * but WITHOUT ANY WARRANTY; without even the implied warranty of
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
- * GNU Affero General Public License for more details.
- *
- * You should have received a copy of the GNU Affero General Public License
- * along with this program. If not, see <https://www.gnu.org/licenses/>.
- */
-package org.unitConverter.math;
-
-import static org.junit.jupiter.api.Assertions.assertEquals;
-
-import org.junit.jupiter.api.Test;
-
-/**
- * A test for the {@code ExpressionParser} class. This is NOT part of this program's public API.
- *
- * @author Adrien Hopkins
- * @since 2019-03-22
- * @since v0.2.0
- */
-class ExpressionParserTest {
- private static final ExpressionParser<Integer> numberParser = new ExpressionParser.Builder<>(Integer::parseInt)
- .addBinaryOperator("+", (o1, o2) -> o1 + o2, 0).addBinaryOperator("-", (o1, o2) -> o1 - o2, 0)
- .addBinaryOperator("*", (o1, o2) -> o1 * o2, 1).addBinaryOperator("/", (o1, o2) -> o1 / o2, 1)
- .addBinaryOperator("^", (o1, o2) -> (int) Math.pow(o1, o2), 2).build();
-
- /**
- * Test method for {@link org.unitConverter.math.ExpressionParser#parseExpression(java.lang.String)}.
- */
- @Test
- public void testParseExpression() {
- // test parsing of expressions
- assertEquals((int) numberParser.parseExpression("1 + 2 ^ 5 * 3"), 97);
- assertEquals((int) numberParser.parseExpression("(1 + 2) ^ 5 * 3"), 729);
-
- // ensure it normally goes left to right
- assertEquals((int) numberParser.parseExpression("1 + 2 + 3 + 4"), 10);
- assertEquals((int) numberParser.parseExpression("12 - 4 - 3"), 5);
- assertEquals((int) numberParser.parseExpression("12 - (4 - 3)"), 11);
- assertEquals((int) numberParser.parseExpression("1 / 2 + 3"), 3);
- }
-
-}
diff --git a/src/test/java/org/unitConverter/math/ObjectProductTest.java b/src/test/java/org/unitConverter/math/ObjectProductTest.java
deleted file mode 100644
index afd18b7..0000000
--- a/src/test/java/org/unitConverter/math/ObjectProductTest.java
+++ /dev/null
@@ -1,78 +0,0 @@
-/**
- * Copyright (C) 2018 Adrien Hopkins
- *
- * This program is free software: you can redistribute it and/or modify
- * it under the terms of the GNU Affero General Public License as published by
- * the Free Software Foundation, either version 3 of the License, or
- * (at your option) any later version.
- *
- * This program is distributed in the hope that it will be useful,
- * but WITHOUT ANY WARRANTY; without even the implied warranty of
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
- * GNU Affero General Public License for more details.
- *
- * You should have received a copy of the GNU Affero General Public License
- * along with this program. If not, see <https://www.gnu.org/licenses/>.
- */
-package org.unitConverter.math;
-
-import static org.junit.jupiter.api.Assertions.assertEquals;
-import static org.junit.jupiter.api.Assertions.assertFalse;
-import static org.unitConverter.unit.SI.Dimensions.AREA;
-import static org.unitConverter.unit.SI.Dimensions.ENERGY;
-import static org.unitConverter.unit.SI.Dimensions.LENGTH;
-import static org.unitConverter.unit.SI.Dimensions.MASS;
-import static org.unitConverter.unit.SI.Dimensions.MASS_DENSITY;
-import static org.unitConverter.unit.SI.Dimensions.QUANTITY;
-import static org.unitConverter.unit.SI.Dimensions.TIME;
-import static org.unitConverter.unit.SI.Dimensions.VOLUME;
-
-import org.junit.jupiter.api.Test;
-import org.unitConverter.unit.SI;
-
-/**
- * Tests for {@link ObjectProduct} using BaseDimension as a test object. This is NOT part of this program's public API.
- *
- * @author Adrien Hopkins
- * @since 2018-12-12
- * @since v0.1.0
- */
-class ObjectProductTest {
- /**
- * Tests {@link UnitDimension#equals}
- *
- * @since 2018-12-12
- * @since v0.1.0
- */
- @Test
- public void testEquals() {
- assertEquals(LENGTH, LENGTH);
- assertFalse(LENGTH.equals(QUANTITY));
- }
-
- /**
- * Tests {@code UnitDimension}'s exponentiation
- *
- * @since 2019-01-15
- * @since v0.1.0
- */
- @Test
- public void testExponents() {
- assertEquals(1, LENGTH.getExponent(SI.BaseDimensions.LENGTH));
- assertEquals(3, VOLUME.getExponent(SI.BaseDimensions.LENGTH));
- }
-
- /**
- * Tests {@code UnitDimension}'s multiplication and division.
- *
- * @since 2018-12-12
- * @since v0.1.0
- */
- @Test
- public void testMultiplicationAndDivision() {
- assertEquals(AREA, LENGTH.times(LENGTH));
- assertEquals(MASS_DENSITY, MASS.dividedBy(VOLUME));
- assertEquals(ENERGY, AREA.times(MASS).dividedBy(TIME).dividedBy(TIME));
- assertEquals(LENGTH, LENGTH.times(TIME).dividedBy(TIME));
- }
-}