diff options
-rw-r--r-- | src/main/java/sevenUnitsGUI/TabbedView.java | 21 | ||||
-rw-r--r-- | src/test/java/sevenUnitsGUI/TabbedViewTest.java | 43 |
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"); |