@Test public void shouldCorrectlyApplyFormula() { assertThat(addition.apply(2, 2)).isEqualTo(4); assertThat(addition.apply(12, 10)).isEqualTo(120); }
@Override public int apply(int lhs, int rhs) { return lhs * rhs; }
Multiplication implements Operation { @Override public int apply(int lhs, int rhs) { return lhs * rhs; } }
Multiplication implements Operation { @Override public int apply(int lhs, int rhs) { return lhs * rhs; }  }
Multiplication implements Operation { @Override public int apply(int lhs, int rhs) { return lhs * rhs; }  @Override int apply(int lhs, int rhs); @Override boolean handles(char op); }
Multiplication implements Operation { @Override public int apply(int lhs, int rhs) { return lhs * rhs; }  @Override int apply(int lhs, int rhs); @Override boolean handles(char op);  }