summaryrefslogtreecommitdiff
path: root/src/test
diff options
context:
space:
mode:
Diffstat (limited to 'src/test')
-rw-r--r--src/test/java/sevenUnits/unit/UnitDatabaseTest.java20
-rw-r--r--src/test/resources/test-unitsfile-invalid1.txt1
-rw-r--r--src/test/resources/test-unitsfile-invalid2.txt1
-rw-r--r--src/test/resources/test-unitsfile-invalid3.txt1
-rw-r--r--src/test/resources/test-unitsfile-invalid4.txt1
-rw-r--r--src/test/resources/test-unitsfile-invalid5.txt1
-rw-r--r--src/test/resources/test-unitsfile-valid1.txt5
7 files changed, 29 insertions, 1 deletions
diff --git a/src/test/java/sevenUnits/unit/UnitDatabaseTest.java b/src/test/java/sevenUnits/unit/UnitDatabaseTest.java
index 15bebcb..31323a7 100644
--- a/src/test/java/sevenUnits/unit/UnitDatabaseTest.java
+++ b/src/test/java/sevenUnits/unit/UnitDatabaseTest.java
@@ -33,6 +33,8 @@ import java.util.NoSuchElementException;
import java.util.Set;
import org.junit.jupiter.api.Test;
+import org.junit.jupiter.params.ParameterizedTest;
+import org.junit.jupiter.params.provider.ValueSource;
/**
* A test for the {@link UnitDatabase} class. This is NOT part of this program's
@@ -112,6 +114,22 @@ class UnitDatabaseTest {
}
/**
+ * A bunch of tests for invalid unit files
+ *
+ * @param num which file to test
+ * @since 2021-09-27
+ */
+ @ParameterizedTest
+ @ValueSource(ints = { 1, 2, 3, 4, 5 })
+ public void testLoadingInvalidFile(int num) {
+ final UnitDatabase database = new UnitDatabase();
+ final String filename = String.format("/test-unitsfile-invalid%d.txt",
+ num);
+ assertThrows(IllegalArgumentException.class,
+ () -> loadUnitsFile(database, filename));
+ }
+
+ /**
* Tests loading a valid unitfile with some prefixes and no units.
*
* @since 2021-09-22
@@ -161,6 +179,8 @@ class UnitDatabaseTest {
.times(A.getMultiplier() + C.getMultiplier() - B.getMultiplier());
final Unit actual3 = database.getUnit("test3");
assertEquals(expected3, actual3);
+
+ assertTrue(System.err.toString().length() > 0);
}
/**
diff --git a/src/test/resources/test-unitsfile-invalid1.txt b/src/test/resources/test-unitsfile-invalid1.txt
new file mode 100644
index 0000000..813bf54
--- /dev/null
+++ b/src/test/resources/test-unitsfile-invalid1.txt
@@ -0,0 +1 @@
+justaunit \ No newline at end of file
diff --git a/src/test/resources/test-unitsfile-invalid2.txt b/src/test/resources/test-unitsfile-invalid2.txt
new file mode 100644
index 0000000..890ed13
--- /dev/null
+++ b/src/test/resources/test-unitsfile-invalid2.txt
@@ -0,0 +1 @@
+nonexistent !
diff --git a/src/test/resources/test-unitsfile-invalid3.txt b/src/test/resources/test-unitsfile-invalid3.txt
new file mode 100644
index 0000000..88d3c65
--- /dev/null
+++ b/src/test/resources/test-unitsfile-invalid3.txt
@@ -0,0 +1 @@
+badunit ^
diff --git a/src/test/resources/test-unitsfile-invalid4.txt b/src/test/resources/test-unitsfile-invalid4.txt
new file mode 100644
index 0000000..0fbc514
--- /dev/null
+++ b/src/test/resources/test-unitsfile-invalid4.txt
@@ -0,0 +1 @@
+badprefix- * 35 \ No newline at end of file
diff --git a/src/test/resources/test-unitsfile-invalid5.txt b/src/test/resources/test-unitsfile-invalid5.txt
new file mode 100644
index 0000000..c561393
--- /dev/null
+++ b/src/test/resources/test-unitsfile-invalid5.txt
@@ -0,0 +1 @@
+anotherinvalidunit (3 + 5) * (^) + 57 \ No newline at end of file
diff --git a/src/test/resources/test-unitsfile-valid1.txt b/src/test/resources/test-unitsfile-valid1.txt
index 704fd7c..1ea6cd9 100644
--- a/src/test/resources/test-unitsfile-valid1.txt
+++ b/src/test/resources/test-unitsfile-valid1.txt
@@ -1,3 +1,6 @@
+U !
+V !
+
test1 CBAU
test2 BW CV
-test3 AU + CU - BU \ No newline at end of file
+test3 AU + CU - BU # easily the most complex one yet \ No newline at end of file