public void DiscountOf_TwoBooks_Equal() { // Arrange List <Book> books = new BooksBuilder() .AddBook(BookType.FirstBook) .AddBook(BookType.FirstBook); //Act var price = _booksCalculation.GetPriceBooks(books); Assert.Equal(16, price); }
public void DiscountOf_ThreeBooks() { // Arrange List <Book> books = new BooksBuilder() .AddBook(BookType.FirstBook) .AddBook(BookType.SecondBook) .AddBook(BookType.ThirdBook); //Act var price = _booksCalculation.GetPriceBooks(books); Assert.Equal(21.6m, price); }
public void DiscountOf_FiveBooks() { List <Book> books = new BooksBuilder() .AddBook(BookType.FirstBook) .AddBook(BookType.SecondBook) .AddBook(BookType.ThirdBook) .AddBook(BookType.FourthBook) .AddBook(BookType.FifthBook); //Act var price = _booksCalculation.GetPriceBooks(books); Assert.Equal(30, price); }
public void DiscountOf_TwoEqualBooks_Plus_TowEqualsBooks_PlushTwoEqualsBooks() { // Arrange List <Book> books = new BooksBuilder() .AddBook(BookType.FirstBook) .AddBook(BookType.FirstBook) .AddBook(BookType.SecondBook) .AddBook(BookType.SecondBook) .AddBook(BookType.ThirdBook) .AddBook(BookType.ThirdBook); //Act var price = _booksCalculation.GetPriceBooks(books); //assert 3 * (8 * 2 * 0.95) Assert.Equal(45.6m, price); //Calculation of groups by type is incorrect :( }
public void ManyBooks_GetsBestPrice() { // Arrange List <Book> books = new BooksBuilder() .AddBook(BookType.FirstBook) .AddBook(BookType.FirstBook) .AddBook(BookType.SecondBook) .AddBook(BookType.SecondBook) .AddBook(BookType.ThirdBook) .AddBook(BookType.ThirdBook) .AddBook(BookType.FourthBook) .AddBook(BookType.FifthBook); //Act var price = _booksCalculation.GetPriceBooks(books); Assert.Equal(51.2m, price); }