더북(TheBook)

연습 문제 3.2: 할인 DDT

이 연습 문제에서는 할인 로직을 확인하는 DDT 테스트를 추가하고, 설정에서 프로모션( 당근 3x2)을 정의한 다음, 프로모션 품목을 구매하고 할인된 가격을 확인하는 단계를 추가하라.

@DDT
fun `customer can benefit from 3x2 offer`() = ddtScenario {
    val prices = mapOf(carrot to 2.0, milk to 5.0)
    setUp {
        setupPrices(prices)
        setup3x2(milk)
    }.thenPlay(
        alice.`can add #qty #item`(3, carrot),
        alice.`can add #qty #item`(3, milk),
        alice.`check total is #total`(16.0)
    )
}
신간 소식 구독하기
뉴스레터에 가입하시고 이메일로 신간 소식을 받아 보세요.