summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--src/de/fhswf/in/inf/upnfx/view/MainViewController.java40
-rw-r--r--test/gui/CalculatorTest.java35
2 files changed, 49 insertions, 26 deletions
diff --git a/src/de/fhswf/in/inf/upnfx/view/MainViewController.java b/src/de/fhswf/in/inf/upnfx/view/MainViewController.java
index 76ab51a..9f6b5b4 100644
--- a/src/de/fhswf/in/inf/upnfx/view/MainViewController.java
+++ b/src/de/fhswf/in/inf/upnfx/view/MainViewController.java
@@ -101,17 +101,21 @@ public class MainViewController
@FXML
private void initialize()
{
- txtField.textProperty().addListener(e -> {
- btnComma.setDisable(newNumber.isEmpty().get() || newNumber.get().contains("."));
- btnZero.setDisable(!newNumber.isEmpty().get() && !newNumber.get().contains(".") && newNumber.get().startsWith("0"));
- });
+ txtField.textProperty().addListener(
+ e -> {
+ btnComma.setDisable(newNumber.isEmpty().get()
+ || newNumber.get().contains("."));
+ btnZero.setDisable(!newNumber.isEmpty().get()
+ && !newNumber.get().contains(".")
+ && newNumber.get().startsWith("0"));
+ });
newNumber.addListener(e -> {
- if(upnStack.isEmpty())
+ if (upnStack.isEmpty())
{
txtField.clear();
}
- if(!newNumber.isEmpty().get())
+ if (!newNumber.isEmpty().get())
{
txtField.setText(newNumber.get());
@@ -133,7 +137,7 @@ public class MainViewController
upnStack.sizeProperty().addListener(e -> {
txtField.clear();
- if(upnStack.size() > 0)
+ if (upnStack.size() > 0)
{
txtField.setText(upnStack.peek().toString());
}
@@ -160,7 +164,7 @@ public class MainViewController
{
if (!newNumber.isEmpty().get())
{
- if(newNumber.get().contains("-"))
+ if (newNumber.get().contains("-"))
{
newNumber.setValue(newNumber.get().replaceAll("-", ""));
}
@@ -171,7 +175,7 @@ public class MainViewController
}
else
{
- if(upnStack.size() > 0)
+ if (upnStack.size() > 0)
{
upnClass.addDouble(-1.0);
upnClass.calculate(operators.get("*"));
@@ -189,16 +193,13 @@ public class MainViewController
@FXML
private void handleClx()
{
- if (newNumber.isEmpty().get())
+ if (!newNumber.isEmpty().get())
{
- if(upnStack.size() > 0)
- {
- upnStack.pop();
- }
+ handleEnt();
}
- else
+ if (upnStack.size() > 0)
{
- newNumber.setValue("");
+ upnStack.pop();
}
}
@@ -211,7 +212,7 @@ public class MainViewController
@FXML
private void handleXY()
{
- if(!newNumber.isEmpty().get())
+ if (!newNumber.isEmpty().get())
{
handleEnt();
}
@@ -222,7 +223,7 @@ public class MainViewController
@FXML
private void handleEnt()
{
- if(!newNumber.isEmpty().get())
+ if (!newNumber.isEmpty().get())
{
upnClass.addDouble(Double.parseDouble(newNumber.get().trim()));
newNumber.setValue("");
@@ -231,7 +232,7 @@ public class MainViewController
private void handleNumber(String number)
{
- if(newNumber.get().equals("0") && !number.equals("."))
+ if (newNumber.get().equals("0") && !number.equals("."))
{
newNumber.set(number);
}
@@ -319,7 +320,6 @@ public class MainViewController
upnClass.calculate(operators.get("/"));
}
-
private void handleOp(Operator operator)
{
if (!newNumber.isEmpty().get())
diff --git a/test/gui/CalculatorTest.java b/test/gui/CalculatorTest.java
index 77d3371..98c6516 100644
--- a/test/gui/CalculatorTest.java
+++ b/test/gui/CalculatorTest.java
@@ -15,6 +15,7 @@ import static org.loadui.testfx.Assertions.verifyThat;
import static org.loadui.testfx.controls.Commons.hasText;
import java.io.IOException;
+
import javafx.fxml.FXMLLoader;
import javafx.scene.Parent;
import javafx.scene.control.Button;
@@ -29,9 +30,8 @@ public class CalculatorTest extends GuiTest
{
try
{
- return FXMLLoader
- .load(CalculatorTest.class
- .getResource("/de/fhswf/in/inf/upnfx/view/MainView.fxml"));
+ return FXMLLoader.load(CalculatorTest.class
+ .getResource("/de/fhswf/in/inf/upnfx/view/MainView.fxml"));
}
catch (IOException e)
{
@@ -44,15 +44,12 @@ public class CalculatorTest extends GuiTest
{
Button button = find("#0");
click(button);
- button = find("#0");
click(button);
button = find("#,");
click(button);
- button = find("#,");
click(button);
button = find("#0");
click(button);
- button = find("#0");
click(button);
button = find("#1");
click(button);
@@ -60,6 +57,32 @@ public class CalculatorTest extends GuiTest
}
@Test
+ public void testClx()
+ {
+ Button button = find("#1");
+ click(button);
+ button = find("#2");
+ click(button);
+ button = find("#3");
+ click(button);
+ button = find("#ENT");
+ click(button);
+ verifyThat("#display", hasText("123.0"));
+ button = find("#4");
+ click(button);
+ button = find("#5");
+ click(button);
+ button = find("#6");
+ click(button);
+ verifyThat("#display", hasText("456"));
+ button = find("#CLX");
+ click(button);
+ verifyThat("#display", hasText("123.0"));
+ click(button);
+ verifyThat("#display", hasText(""));
+ }
+
+ @Test
public void testNumbers()
{
Button button = find("#0");