예제 #1
0
 public void TestGivenAValidCheckoutWhenANullBasketIsProcessedThenAnExceptionIsThrown()
 {
     // Arrange
     var checkout = new Checkout();
     // Act
     double total = checkout.Process(null);
     // Assert
 }
예제 #2
0
 public void TestGivenAValidCheckoutWhenAnEmptyBasketIsProcessedThenTotalIsZero()
 {
     // Arrange
     var checkout = new Checkout();
     // Act
     double total = checkout.Process(new Basket());
     // Assert
     Assert.AreEqual(0.0, total);
 }
예제 #3
0
 public void TestGivenAValidCheckoutWhenBasketWithOneBookIsProcessedThenTotalIsSameAsPriceOfBookSecondAttempt()
 {
     // Arrange
     const double PRICE = 1.97;
     var checkout = new Checkout();
     var basket = new Basket();
     basket.Add(new Book() { Price = PRICE });
     // Act
     double total = checkout.Process(basket);
     // Assert
     Assert.AreEqual(PRICE, total);
 }
예제 #4
0
 public void TestGivenAValidCheckoutWhenBasketWithTwoSameBooksIsProcessedThenTotalIsSameAsTwoTimesThePriceOfThatBook()
 {
     // Arrange
     const double PRICE = 1.99;
     var checkout = new Checkout();
     var basket = new Basket();
     basket.Add(new Book() { Price = PRICE });
     basket.Add(new Book() { Price = PRICE });
     // Act
     double total = checkout.Process(basket);
     // Assert
     Assert.AreEqual(PRICE * 2, total, 0.0001);
 }