모든 승객은 규정상 특정 마일리지 이상을 보유해야 일등석으로 업그레이드할 수 있다. 우리 예제에서는 승객 이름과 여행 마일리지 정보가 담긴 배열이 승객 객체에 포함되어 있다고 하자. 다음은 객체 리터럴 생성 패턴으로 승객 객체를 만드는 코드다.
var testPassenger = { firstName: "일웅", lastName: "이", tripMileages: [ 500, 600, 3400, 2500 ] };
비행 마일리지를 계산할 때 VIP 회원에겐 특별 혜택을 주는데, 회원별로 이용 실적에 따라 추가 마일리지를 적립할 때 정해진 배율(multiplier)을 곱한다.
일단, 이 배율만큼 비행 마일리지를 더 쌓아주는 함수(calculateUpgradeMileages)가 필요하다. 이 함수가 잘 작동하는지 TDD 방식으로 확인하는 단위 테스트를 작성하자(예제 2-40).