2009. 1. 5. 09:34

TDD 퀴즈 1. 비디오 샵

목적

비디오방에서 고객이 대여하는 비디오의 대여정보를 조회할 수 있는 프로그램을 작성

요구사항

  • 고객(Customer)은 이름을 가지고 있다.
  • 고객은 한번에 여러개의 비디오를 대여할 수 있으나 각각의 대여(Rental)기간은 다를 수 있다.
  • 비디오(Video)는 영화,스포츠,다큐멘타리의 세종류가 있다.
  • 각각의 비디오는 독립적인 일일 대여요금을 가지고 있다.
  • 영화는 대여기간이 2일 이상되면 3일째 부터는 대여요금이 1/2로 할인된다.
  • 다큐멘타리는 3일 이상 대여하면 4일째 부터는 1/3로 할인된다.
  • 스포츠는 장기대여 할인이 없다.
  • 비디오 1개 대여할 때 마다 보너스포인트는 1포인트씩 올라간다. 단, 스포츠는 2포인트씩 올라간다.
  • 과거의 대여기록을 가지고 있을 필요는 없으나 고객이 얻은 총 보너스 포인트 정보는 알고 있어야 한다.
  • 고객(Customer)의 현재 대여정보를 구할 수 있는 기능을 작성하라
    • 총 대여비디오 수
    • 대여정보: 비디오(종류 + 제목 + 가격), 대여기간 리스트
    • 총대여가격
    • 현재 대여하고 있는 비디오로 인해서 추가된 포인트수

조건

  • 예외상황에 대한 처리는 필요없다.
  • 반드시 TDD의 순서에 따라서 작업할 것
  • 테스트할 목록을 직접 정의한다(txt파일에 정리할 것)
  • 한개의 테스트 메소드 작업이 끝날때마다 commit하도록 한다. 이때 테스트 목록에서 작업한 내용은 체크해서 올린다.