summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorAdrien Hopkins <ahopk127@my.yorku.ca>2022-07-17 14:43:01 -0500
committerAdrien Hopkins <ahopk127@my.yorku.ca>2022-07-17 14:57:42 -0500
commite03a1e9a41e636a925c9bb6ad03be3e8b51b535f (patch)
tree27f575ef453ff2ca3628873d47b0630340ada428
parent051f6779be836cd9a5205f0c6527fd3a6f734ed1 (diff)
Added a GUI test simulating expression conversion
-rw-r--r--src/main/java/sevenUnitsGUI/TabbedView.java21
-rw-r--r--src/test/java/sevenUnitsGUI/TabbedViewTest.java43
2 files changed, 51 insertions, 13 deletions
diff --git a/src/main/java/sevenUnitsGUI/TabbedView.java b/src/main/java/sevenUnitsGUI/TabbedView.java
index ca20216..dfea2c6 100644
--- a/src/main/java/sevenUnitsGUI/TabbedView.java
+++ b/src/main/java/sevenUnitsGUI/TabbedView.java
@@ -166,18 +166,20 @@ final class TabbedView implements ExpressionConversionView, UnitConversionView {
final SearchBoxList<String> fromSearch;
/** The panel for "To" in the dimension-based converter */
final SearchBoxList<String> toSearch;
- /** The output area in the dimension-based converter */
- final JTextArea unitOutput;
/** The button used for conversion */
final JButton convertUnitButton;
+ /** The output area in the dimension-based converter */
+ final JTextArea unitOutput;
// EXPRESSION-BASED CONVERTER
/** The "From" entry in the conversion panel */
- private final JTextField fromEntry;
+ final JTextField fromEntry;
/** The "To" entry in the conversion panel */
- private final JTextField toEntry;
+ final JTextField toEntry;
+ /** The button used for conversion */
+ final JButton convertExpressionButton;
/** The output area in the conversion panel */
- private final JTextArea expressionOutput;
+ final JTextArea expressionOutput;
// UNIT AND PREFIX VIEWERS
/** The searchable list of unit names in the unit viewer */
@@ -292,11 +294,12 @@ final class TabbedView implements ExpressionConversionView, UnitConversionView {
this.toEntry.setBorder(BorderFactory.createTitledBorder("To"));
// button to convert
- final JButton convertButton = new JButton("Convert");
- convertExpressionPanel.add(convertButton);
+ this.convertExpressionButton = new JButton("Convert");
+ convertExpressionPanel.add(this.convertExpressionButton);
- convertButton.addActionListener(e -> this.presenter.convertExpressions());
- convertButton.setMnemonic(KeyEvent.VK_ENTER);
+ this.convertExpressionButton
+ .addActionListener(e -> this.presenter.convertExpressions());
+ this.convertExpressionButton.setMnemonic(KeyEvent.VK_ENTER);
// output of conversion
this.expressionOutput = new JTextArea(2, 32);
diff --git a/src/test/java/sevenUnitsGUI/TabbedViewTest.java b/src/test/java/sevenUnitsGUI/TabbedViewTest.java
index a669773..9d3ecce 100644
--- a/src/test/java/sevenUnitsGUI/TabbedViewTest.java
+++ b/src/test/java/sevenUnitsGUI/TabbedViewTest.java
@@ -28,15 +28,15 @@ import org.junit.jupiter.api.Test;
*/
class TabbedViewTest {
/**
- * Simulates a unit conversion operation, and ensures it works properly.
+ * @return a view with all settings set to standard values
*
+ * @since v0.4.0
* @since 2022-07-17
*/
- @Test
- void testUnitConversion() {
- // setup view
+ private static final TabbedView setupView() {
final var view = new TabbedView();
final var presenter = view.getPresenter();
+
presenter.setNumberDisplayRule(StandardDisplayRules.uncertaintyBased());
presenter.setPrefixRepetitionRule(
DefaultPrefixRepetitionRule.NO_RESTRICTION);
@@ -44,6 +44,41 @@ class TabbedViewTest {
presenter.setOneWayConversionEnabled(false);
presenter.setShowDuplicates(true);
+ return view;
+ }
+
+ /**
+ * Simulates an expression conversion operation, and ensures it works
+ * properly.
+ *
+ * @since v0.4.0
+ * @since 2022-07-17
+ */
+ @Test
+ void testExpressionConversion() {
+ final var view = setupView();
+
+ // prepare for unit conversion
+ view.masterPane.setSelectedIndex(1);
+ view.fromEntry.setText("250.0 inch");
+ view.toEntry.setText("metre");
+
+ view.convertExpressionButton.doClick();
+
+ // check result of conversion
+ assertEquals("250.0 inch = 6.350 metre", view.expressionOutput.getText());
+ }
+
+ /**
+ * Simulates a unit conversion operation, and ensures it works properly.
+ *
+ * @since v0.4.0
+ * @since 2022-07-17
+ */
+ @Test
+ void testUnitConversion() {
+ final var view = setupView();
+
// prepare for unit conversion
view.masterPane.setSelectedIndex(0);
view.dimensionSelector.setSelectedItem("LENGTH");