public void push(Object arg) { if (OPS.contains(arg)) { Number y = stack.removeLast(); Number x = stack.isEmpty() ? 0 : stack.removeLast(); Double val = null; if (arg.equals("-")) { val = x.doubleValue() - y.doubleValue(); } else if (arg.equals("+")) { val = x.doubleValue() + y.doubleValue(); } else if (arg.equals("*")) { val = x.doubleValue() * y.doubleValue(); } else if (arg.equals("/")) { val = x.doubleValue() / y.doubleValue(); } push(val); } else { stack.add((Number) arg); } }
@Given("^a calculator I just turned on$") public void setup() { calc = new Calculator(); }
@Then("^the result is (\\d+)$") public void the_result_is(double expected) { assertEquals(expected, calc.value()); }
@Given("^a calculator I just turned on$") public void setup() { calc = new Calculator(); }
@Then("^the result is (\\d+)$") public void the_result_is(double expected) { assertEquals(expected, calc.value()); }
public void push(Object arg) { if (OPS.contains(arg)) { Number y = stack.removeLast(); Number x = stack.isEmpty() ? 0 : stack.removeLast(); Double val = null; if (arg.equals("-")) { val = x.doubleValue() - y.doubleValue(); } else if (arg.equals("+")) { val = x.doubleValue() + y.doubleValue(); } else if (arg.equals("*")) { val = x.doubleValue() * y.doubleValue(); } else if (arg.equals("/")) { val = x.doubleValue() / y.doubleValue(); } push(val); } else { stack.add((Number) arg); } }
public void push(Object arg) { if (OPS.contains(arg)) { Number y = stack.removeLast(); Number x = stack.isEmpty() ? 0 : stack.removeLast(); Double val = null; if (arg.equals("-")) { val = x.doubleValue() - y.doubleValue(); } else if (arg.equals("+")) { val = x.doubleValue() + y.doubleValue(); } else if (arg.equals("*")) { val = x.doubleValue() * y.doubleValue(); } else if (arg.equals("/")) { val = x.doubleValue() / y.doubleValue(); } push(val); } else { stack.add((Number) arg); } }