public void WhenTwoBooks_Then15_20() { var basket = new Basket(new SetBasedDiscountCalculator()); basket.AddBook(new Book(1, "Book 1", priceOfOneBook)); basket.AddBook(new Book(2, "Book 2", priceOfOneBook)); var basketTotal = basket.BasketTotal(); Assert.AreEqual(15.20m, basketTotal); }
public void WhenThreeBooks_Then_21_60() { var basket = new Basket(new SetBasedDiscountCalculator()); basket.AddBook(new Book(1, "Book 1", priceOfOneBook)); basket.AddBook(new Book(2, "Book 2", priceOfOneBook)); basket.AddBook(new Book(3, "Book 3", priceOfOneBook)); var basketTotal = basket.BasketTotal(); Assert.AreEqual(21.60m, basketTotal); }
public void WhenFourBooks_ThreeDifferent_RightAmount() { var basket = new Basket(new SetBasedDiscountCalculator()); basket.AddBook(new Book(1, "Book 1", priceOfOneBook)); basket.AddBook(new Book(1, "Book 1", priceOfOneBook)); basket.AddBook(new Book(2, "Book 2", priceOfOneBook)); basket.AddBook(new Book(3, "Book 3", priceOfOneBook)); var basketTotal = basket.BasketTotal(); Assert.AreEqual(29.60m, basketTotal); }
public void WhenFiveBooks_Then_30_Euros() { var basket = new Basket(new SetBasedDiscountCalculator()); basket.AddBook(new Book(1, "Book 1", priceOfOneBook)); basket.AddBook(new Book(2, "Book 2", priceOfOneBook)); basket.AddBook(new Book(3, "Book 3", priceOfOneBook)); basket.AddBook(new Book(4, "Book 4", priceOfOneBook)); basket.AddBook(new Book(5, "Book 5", priceOfOneBook)); var basketTotal = basket.BasketTotal(); Assert.AreEqual(30m, basketTotal); }
public void AddBook_UpdateBasketTotal() { var bookToAdd = new Book { Name = "Phil .Stone" }; _basket.AddBook(bookToAdd); Assert.AreEqual(1, _basket.TotalNumberOfItems); }
public void WhenOneBook_Then8Euros() { var basket = new Basket(new SetBasedDiscountCalculator()); basket.AddBook(new Book(1, "Book 1", priceOfOneBook)); var basketTotal = basket.BasketTotal(); Assert.AreEqual(8, basketTotal); }
public void MultipleOfEight(int numberOfBook, int expected) { var basket = new Basket(); var book = new Book("test", 8, Guid.NewGuid()); for (int i = 0; i < numberOfBook; i++) { basket.AddBook(book); } var multipleOfEight = basket.CalculateFinalPrice(); Assert.Equal(multipleOfEight, expected); }
public void WhenExampleBasketProvided_ThenCorrectAmountIsObtained() { var basket = new Basket(new SetBasedDiscountCalculator()); basket.AddBook(new Book(1, "Book 1", priceOfOneBook)); basket.AddBook(new Book(1, "Book 1", priceOfOneBook)); basket.AddBook(new Book(2, "Book 2", priceOfOneBook)); basket.AddBook(new Book(2, "Book 2", priceOfOneBook)); basket.AddBook(new Book(3, "Book 3", priceOfOneBook)); basket.AddBook(new Book(3, "Book 3", priceOfOneBook)); basket.AddBook(new Book(4, "Book 4", priceOfOneBook)); basket.AddBook(new Book(5, "Book 5", priceOfOneBook)); var basketTotal = basket.BasketTotal(); Assert.AreEqual(51.20m, basketTotal); }
public async Task Process(AddBookInput input) { Book book = await bookReadOnlyRepository.Get(input.BookId); if (book == null) { throw new BookNotFoundException($"The book {input.BookId} does not exist."); } Basket basket = (input.BasketId != null)? await basketReadOnlyRepository.Get(input.BasketId):new Basket(); Addition addition = new Addition(book.Id); basket.AddBook(addition); await basketWriteOnlyRepository.Update(basket); OrderOutput orderResponse = outputConverter.Map <OrderOutput>(addition); AddBookOutput output = new AddBookOutput(orderResponse, basket.GetTotalPrice().Value); outputBoundary.Populate(output); }
public void should_two_books_price_equals_to_16_when_they_have_the_same_volume() { //arrange _basket.AddBook(new Book("Volume 1")); _basket.AddBook(new Book("Volume 1")); var expected = 16; //act var actual = _basket.Checkout(); //assert Assert.Equal(expected, actual); }
public void WhenIAddABookToBasket() { var book = new Book(); _basket.AddBook(book); }