MVC - 단위 테스트, UI 테스트

3단계 요구조건 정리

  • 입력값이 null이거나 빈 공백 문자일 경우 IllegalArgumentException throw
  • 사칙연산 기호가 아닌 경우 IllegalArgumentException throw
  • 사칙 연산 구현
    • 덧셈
    • 뺄셈
    • 곱셈
    • 나눗셈

4단계 요구조건

  • 입력된 피연산자가 없을 때, 사용자가 피연산자 0 ~ 9 버튼을 누르면 화면에 해당 숫자가 화면에 보여야 한다.
    -> 1 클릭 -> 1
    5 + -> 1 클릭 -> 5 + 1
  • 입력된 피연산자가 있을 때, 기존 숫자 뒤에 해당 숫자가 화면에 보여야 한다. 예를 들면, 8이 입력되어 있을 때 9를 입력하면 89가 보여야 한다.
    8 -> 9 클릭 -> 89
  • 입력된 피연산자가 없을 때, 사용자가 연산자 +, -, ×, ÷ 버튼을 누르면 화면에 아무런 변화가 없어야 한다.
    -> + 클릭 ->
  • 입력된 피연산자가 있을 때, 사용자가 연산자 +, -, ×, ÷ 버튼을 누르면 해당 기호가 화면에 보여야 한다.
    1 -> + 클릭 -> 1 +
    1 + -> - 클릭 -> 1 -
  • 입력된 수식이 없을 때, 사용자가 지우기 버튼을 누르면 화면에 아무런 변화가 없어야 한다.
    -> 지우기 클릭 ->
  • 입력된 수식이 있을 때, 사용자가 지우기 버튼을 누르면 수식에 마지막으로 입력된 연산자 또는 피연산자가 지워져야 한다.
    32 + 1 -> 지우기 클릭 -> 32 + -> 지우기 클릭 -> 32 -> 지우기 클릭 -> 3 -> 지우기 클릭 -> -> 지우기 클릭 ->
  • 입력된 수신이 완전할 때, 사용자가 = 버튼을 누르면 입력된 수식의 결과가 화면에 보여야 한다.
    3 + 2 -> = 클릭 -> 5
  • 입력된 수신이 완전하지 않을 때, 사용자가 = 버튼을 눌렀을 때 완성되지 않은 수식입니다 토스트 메세지가 화면에 보여야 한다.
    3 + -> = 클릭 -> 완성되지 않은 수식입니다