summaryrefslogtreecommitdiff
path: root/src/test
diff options
context:
space:
mode:
authorAdrien Hopkins <ahopk127@my.yorku.ca>2022-04-19 16:10:44 -0500
committerAdrien Hopkins <ahopk127@my.yorku.ca>2022-04-19 16:10:44 -0500
commit0aacba9fc8a9140fdf331172ad66afe280d09b5e (patch)
tree3699f6cf4ce40db818233287853474a4cf99ba5c /src/test
parent40f7b6e806140fc2fc741c63c71f5ce97b4bd1d2 (diff)
Implemented prefix settings, saving & loading of settings
Also fixed some bugs: - Presenter now has default values for its settings in case they don't load properly - UnitDatabase ensures its units, prefixes and dimensions have all of the names you give it
Diffstat (limited to 'src/test')
-rw-r--r--src/test/java/sevenUnitsGUI/PresenterTest.java25
-rw-r--r--src/test/resources/test-settings.txt4
2 files changed, 17 insertions, 12 deletions
diff --git a/src/test/java/sevenUnitsGUI/PresenterTest.java b/src/test/java/sevenUnitsGUI/PresenterTest.java
index 362a5c9..f639329 100644
--- a/src/test/java/sevenUnitsGUI/PresenterTest.java
+++ b/src/test/java/sevenUnitsGUI/PresenterTest.java
@@ -19,6 +19,7 @@ package sevenUnitsGUI;
import static org.junit.jupiter.api.Assertions.assertEquals;
import static org.junit.jupiter.api.Assertions.assertTrue;
+import java.math.RoundingMode;
import java.nio.file.Path;
import java.util.List;
import java.util.Set;
@@ -32,10 +33,10 @@ import org.junit.jupiter.params.provider.MethodSource;
import sevenUnits.unit.BaseDimension;
import sevenUnits.unit.BritishImperial;
+import sevenUnits.unit.LinearUnitValue;
import sevenUnits.unit.Metric;
import sevenUnits.unit.Unit;
import sevenUnits.unit.UnitType;
-import sevenUnits.unit.UnitValue;
import sevenUnits.utils.NameSymbol;
import sevenUnits.utils.Nameable;
import sevenUnits.utils.ObjectProduct;
@@ -91,7 +92,7 @@ public final class PresenterTest {
// test result
final List<UnitConversionRecord> outputs = viewBot
.expressionConversionList();
- assertEquals("10000.0 m = 10.0 km",
+ assertEquals("10000.0 m = 10.00000 km",
outputs.get(outputs.size() - 1).toString());
}
@@ -120,12 +121,14 @@ public final class PresenterTest {
* here (that's for the backend tests), I'm just testing that it correctly
* calls the unit conversion system
*/
- final UnitValue expectedInput = UnitValue.of(Metric.METRE, 10000.0);
- final UnitValue expectedOutput = expectedInput
+ final LinearUnitValue expectedInput = LinearUnitValue.of(Metric.METRE,
+ UncertainDouble.fromRoundedString("10000.0"));
+ final LinearUnitValue expectedOutput = expectedInput
.convertTo(Metric.KILOMETRE);
- final UnitConversionRecord expectedUC = UnitConversionRecord
- .fromValues(expectedInput, expectedOutput);
-
+ final UnitConversionRecord expectedUC = UnitConversionRecord.valueOf(
+ expectedInput.getUnit().getName(),
+ expectedOutput.getUnit().getName(), "10000.0",
+ expectedOutput.getValue().toString(false, RoundingMode.HALF_EVEN));
assertEquals(List.of(expectedUC), viewBot.unitConversionList());
}
@@ -182,13 +185,11 @@ public final class PresenterTest {
// test that units are removed from each side when one-way conversion is
// enabled
presenter.setOneWayConversionEnabled(true);
- presenter.updateView();
- assertEquals(metricNames, viewBot.getFromUnitNames());
- assertEquals(nonMetricNames, viewBot.getToUnitNames());
+ assertEquals(nonMetricNames, viewBot.getFromUnitNames());
+ assertEquals(metricNames, viewBot.getToUnitNames());
// test that units are kept when one-way conversion is disabled
presenter.setOneWayConversionEnabled(false);
- presenter.updateView();
assertEquals(allNames, viewBot.getFromUnitNames());
assertEquals(allNames, viewBot.getToUnitNames());
}
@@ -243,7 +244,7 @@ public final class PresenterTest {
// test the result of the rounding
final String expectedOutputString = roundingRule
- .apply(UncertainDouble.of(12.3456789, 0));
+ .apply(UncertainDouble.fromRoundedString("12.3456789"));
final String actualOutputString = viewBot.unitConversionList().get(0)
.outputValueString();
assertEquals(expectedOutputString, actualOutputString);
diff --git a/src/test/resources/test-settings.txt b/src/test/resources/test-settings.txt
new file mode 100644
index 0000000..932221e
--- /dev/null
+++ b/src/test/resources/test-settings.txt
@@ -0,0 +1,4 @@
+number_display_rule=Round to 11 significant figures
+prefix_rule=NO_RESTRICTION
+one_way=true
+include_duplicates=true