summaryrefslogtreecommitdiff
path: root/src/main/java/sevenUnitsGUI/ViewBot.java
diff options
context:
space:
mode:
Diffstat (limited to 'src/main/java/sevenUnitsGUI/ViewBot.java')
-rw-r--r--src/main/java/sevenUnitsGUI/ViewBot.java141
1 files changed, 62 insertions, 79 deletions
diff --git a/src/main/java/sevenUnitsGUI/ViewBot.java b/src/main/java/sevenUnitsGUI/ViewBot.java
index 43d73bb..0195dd6 100644
--- a/src/main/java/sevenUnitsGUI/ViewBot.java
+++ b/src/main/java/sevenUnitsGUI/ViewBot.java
@@ -21,15 +21,8 @@ import java.util.Collections;
import java.util.List;
import java.util.Objects;
import java.util.Optional;
-import java.util.OptionalDouble;
import java.util.Set;
-import sevenUnits.unit.BaseDimension;
-import sevenUnits.unit.Unit;
-import sevenUnits.unit.UnitValue;
-import sevenUnits.utils.NamedObjectProduct;
-import sevenUnits.utils.ObjectProduct;
-
/**
* A class that simulates a View (supports both unit and expression conversion)
* for testing. Getters and setters work as expected.
@@ -42,7 +35,7 @@ final class ViewBot implements UnitConversionView, ExpressionConversionView {
private final Presenter presenter;
/** The dimensions available to select from */
- private Set<NamedObjectProduct<BaseDimension>> dimensions;
+ private Set<String> dimensionNames;
/** The expression in the From field */
private String fromExpression;
/** The expression in the To field */
@@ -50,23 +43,22 @@ final class ViewBot implements UnitConversionView, ExpressionConversionView {
/**
* The user-provided string representing the value in {@code fromSelection}
*/
- private OptionalDouble inputValue;
+ private String inputValue;
/** The unit selected in the From selection */
- private Optional<Unit> fromSelection;
+ private Optional<String> fromSelection;
/** The unit selected in the To selection */
- private Optional<Unit> toSelection;
+ private Optional<String> toSelection;
/** The currently selected dimension */
- private Optional<? extends ObjectProduct<BaseDimension>> selectedDimension;
+ private Optional<String> selectedDimensionName;
/** The units available in the From selection */
- private Set<? extends Unit> fromUnits;
+ private Set<String> fromUnits;
/** The units available in the To selection */
- private Set<? extends Unit> toUnits;
- /** Saved input values of all unit conversions */
- private final List<UnitValue> unitConversionInputValues;
- /** Saved output values of all unit conversions */
- private final List<UnitValue> unitConversionOutputValues;
+ private Set<String> toUnits;
+
+ /** Saved outputs of all unit conversions */
+ private final List<UnitConversionRecord> unitConversions;
/** Saved outputs of all unit expressions */
- private final List<String> expressionConversionOutputs;
+ private final List<UnitConversionRecord> expressionConversions;
/**
* Creates a new {@code ViewBot} with a new presenter.
@@ -76,9 +68,16 @@ final class ViewBot implements UnitConversionView, ExpressionConversionView {
public ViewBot() {
this.presenter = new Presenter(this);
- this.unitConversionInputValues = new ArrayList<>();
- this.unitConversionOutputValues = new ArrayList<>();
- this.expressionConversionOutputs = new ArrayList<>();
+ this.unitConversions = new ArrayList<>();
+ this.expressionConversions = new ArrayList<>();
+ }
+
+ /**
+ * @return list of records of expression conversions done by this bot
+ * @since 2022-04-09
+ */
+ public List<UnitConversionRecord> expressionConversionList() {
+ return this.expressionConversions;
}
/**
@@ -86,12 +85,8 @@ final class ViewBot implements UnitConversionView, ExpressionConversionView {
* @since 2022-01-29
*/
@Override
- public Set<NamedObjectProduct<BaseDimension>> getDimensions() {
- return this.dimensions;
- }
-
- public List<String> getExpressionConversionOutputs() {
- return this.expressionConversionOutputs;
+ public Set<String> getDimensionNames() {
+ return this.dimensionNames;
}
@Override
@@ -100,7 +95,7 @@ final class ViewBot implements UnitConversionView, ExpressionConversionView {
}
@Override
- public Optional<Unit> getFromSelection() {
+ public Optional<String> getFromSelection() {
return this.fromSelection;
}
@@ -108,12 +103,13 @@ final class ViewBot implements UnitConversionView, ExpressionConversionView {
* @return the units available for selection in From
* @since 2022-01-29
*/
- public Set<Unit> getFromUnits() {
+ @Override
+ public Set<String> getFromUnitNames() {
return Collections.unmodifiableSet(this.fromUnits);
}
@Override
- public OptionalDouble getInputValue() {
+ public String getInputValue() {
return this.inputValue;
}
@@ -126,8 +122,8 @@ final class ViewBot implements UnitConversionView, ExpressionConversionView {
}
@Override
- public Optional<ObjectProduct<BaseDimension>> getSelectedDimension() {
- return this.selectedDimension.map(x -> x);
+ public Optional<String> getSelectedDimensionName() {
+ return this.selectedDimensionName;
}
@Override
@@ -136,7 +132,7 @@ final class ViewBot implements UnitConversionView, ExpressionConversionView {
}
@Override
- public Optional<Unit> getToSelection() {
+ public Optional<String> getToSelection() {
return this.toSelection;
}
@@ -144,30 +140,14 @@ final class ViewBot implements UnitConversionView, ExpressionConversionView {
* @return the units available for selection in To
* @since 2022-01-29
*/
- public Set<Unit> getToUnits() {
+ @Override
+ public Set<String> getToUnitNames() {
return Collections.unmodifiableSet(this.toUnits);
}
- /**
- * @return the unitConversionInputValues
- * @since 2022-02-26
- */
- public List<UnitValue> getUnitConversionInputValues() {
- return this.unitConversionInputValues;
- }
-
- /**
- * @return the unitConversionOutputValues
- * @since 2022-02-10
- */
- public List<UnitValue> getUnitConversionOutputValues() {
- return this.unitConversionOutputValues;
- }
-
@Override
- public void setDimensions(
- Set<NamedObjectProduct<BaseDimension>> dimensions) {
- this.dimensions = Objects.requireNonNull(dimensions,
+ public void setDimensionNames(Set<String> dimensionNames) {
+ this.dimensionNames = Objects.requireNonNull(dimensionNames,
"dimensions may not be null");
}
@@ -187,7 +167,7 @@ final class ViewBot implements UnitConversionView, ExpressionConversionView {
* @param fromSelection the fromSelection to set
* @since 2022-01-29
*/
- public void setFromSelection(Optional<Unit> fromSelection) {
+ public void setFromSelection(Optional<String> fromSelection) {
this.fromSelection = Objects.requireNonNull(fromSelection,
"fromSelection cannot be null");
}
@@ -196,12 +176,12 @@ final class ViewBot implements UnitConversionView, ExpressionConversionView {
* @param fromSelection the fromSelection to set
* @since 2022-02-10
*/
- public void setFromSelection(Unit fromSelection) {
+ public void setFromSelection(String fromSelection) {
this.setFromSelection(Optional.of(fromSelection));
}
@Override
- public void setFromUnits(Set<? extends Unit> units) {
+ public void setFromUnitNames(Set<String> units) {
this.fromUnits = Objects.requireNonNull(units, "units may not be null");
}
@@ -209,22 +189,21 @@ final class ViewBot implements UnitConversionView, ExpressionConversionView {
* @param inputValue the inputValue to set
* @since 2022-01-29
*/
- public void setInputValue(OptionalDouble inputValue) {
+ public void setInputValue(String inputValue) {
this.inputValue = inputValue;
}
- public void setSelectedDimension(
- ObjectProduct<BaseDimension> selectedDimension) {
- this.setSelectedDimension(Optional.of(selectedDimension));
- }
-
/**
* @param selectedDimension the selectedDimension to set
* @since 2022-01-29
*/
- public void setSelectedDimension(
- Optional<? extends ObjectProduct<BaseDimension>> selectedDimension) {
- this.selectedDimension = selectedDimension;
+ public void setSelectedDimensionName(
+ Optional<String> selectedDimensionName) {
+ this.selectedDimensionName = selectedDimensionName;
+ }
+
+ public void setSelectedDimensionName(String selectedDimensionName) {
+ this.setSelectedDimensionName(Optional.of(selectedDimensionName));
}
/**
@@ -243,17 +222,17 @@ final class ViewBot implements UnitConversionView, ExpressionConversionView {
* @param toSelection the toSelection to set
* @since 2022-01-29
*/
- public void setToSelection(Optional<Unit> toSelection) {
+ public void setToSelection(Optional<String> toSelection) {
this.toSelection = Objects.requireNonNull(toSelection,
"toSelection cannot be null.");
}
- public void setToSelection(Unit toSelection) {
+ public void setToSelection(String toSelection) {
this.setToSelection(Optional.of(toSelection));
}
@Override
- public void setToUnits(Set<? extends Unit> units) {
+ public void setToUnitNames(Set<String> units) {
this.toUnits = Objects.requireNonNull(units, "units may not be null");
}
@@ -263,19 +242,15 @@ final class ViewBot implements UnitConversionView, ExpressionConversionView {
}
@Override
- public void showExpressionConversionOutput(String fromExpression,
- String toExpression, double value) {
- final String output = String.format("%s = %s %s", fromExpression, value,
- toExpression);
- this.expressionConversionOutputs.add(output);
- System.out.println("Expression Conversion: " + output);
+ public void showExpressionConversionOutput(UnitConversionRecord uc) {
+ this.expressionConversions.add(uc);
+ System.out.println("Expression Conversion: " + uc);
}
@Override
- public void showUnitConversionOutput(UnitValue input, UnitValue output) {
- this.unitConversionInputValues.add(input);
- this.unitConversionOutputValues.add(output);
- System.out.println("Unit conversion: " + input + " = " + output);
+ public void showUnitConversionOutput(UnitConversionRecord uc) {
+ this.unitConversions.add(uc);
+ System.out.println("Unit Conversion: " + uc);
}
@Override
@@ -283,4 +258,12 @@ final class ViewBot implements UnitConversionView, ExpressionConversionView {
return super.toString() + String.format("[presenter=%s]", this.presenter);
}
+ /**
+ * @return list of records of every unit conversion made by this bot
+ * @since 2022-04-09
+ */
+ public List<UnitConversionRecord> unitConversionList() {
+ return Collections.unmodifiableList(this.unitConversions);
+ }
+
}