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);
        }
示例#2
0
        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);
        }
示例#3
0
        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);
        }