Give_10_percent_discount_for_IT_books_when_containing_one_of_them() { var basket = BasketBuilder.ABasket() .With( BookBuilder.AnITBook().Costing(10.0).Build()) .Build(); Check.That(basket.PriceWithDiscount()).IsEqualTo(9.0); }
Give_30_percent_discount_for_IT_books_when_containing_multiple_books() { var basket = BasketBuilder.ABasket() .With( BookBuilder.AnITBook().Costing(30.0).Build(), BookBuilder.AnITBook().Costing(10.0).Build(), BookBuilder.AnITBook().Costing(20.0).Build()) .Build(); Check.That(basket.PriceWithDiscount()).IsEqualTo(42.0); }
Calculate_the_total_price_with_no_discount_when_containing_multiple_books() { var basket = BasketBuilder.ABasket() .With( BookBuilder.ACookingBook().Costing(10.0).Build(), BookBuilder.AnITBook().Costing(30.0).Build(), BookBuilder.AnITBook().Costing(20.0).Build(), BookBuilder.ATravelBook().Costing(20.0).Build()) .Build(); Check.That(basket.FullPrice()).IsEqualTo(80.0); }
Combine_10_percent_discount_for_1_IT_book_and_40_percent_discount_for_4_Travel_books() { var basket = BasketBuilder.ABasket() .With( BookBuilder.AnITBook().Costing(10.0).Build(), BookBuilder.ATravelBook().Costing(30.0).Build(), BookBuilder.ATravelBook().Costing(10.0).Build(), BookBuilder.ATravelBook().Costing(20.0).Build(), BookBuilder.ATravelBook().Costing(10.0).Build()) .Build(); Check.That(basket.PriceWithDiscount()).IsEqualTo(51.0); }