Ejemplo n.º 1
0
        public void Initialize()
        {
            _bookRepository = A.Fake<IBookRepository>();

            A.CallTo(() => _bookRepository.GetByTitle(ValidTitle))
                .Returns(_books.Where(x => x.Title == ValidTitle));
            A.CallTo(() => _bookRepository.GetByAuthor(ValidAuthor))
                .Returns(_books.Where(x => x.Author == ValidAuthor));
            A.CallTo(() => _bookRepository.GetByIsbn(ValidIsbn))
                .Returns(_books.Where(x => x.Isbn == ValidIsbn));
            A.CallTo(() => _bookRepository.GetByPublisher(ValidPublisher))
                .Returns(_books.Where(x => x.Publisher == ValidPublisher));
            A.CallTo(() => _bookRepository.GetByStatus(BookStatusAvailable))
                .Returns(_books.Where(x => x.Status == BookStatusAvailable));
            A.CallTo(() => _bookRepository.GetByStatus(BookStatusUnavailable))
                .Returns(_books.Where(x => x.Status == BookStatusUnavailable));
            A.CallTo(() => _bookRepository.GetByStatus(BookStatusReserved))
                .Returns(_books.Where(x => x.Status == BookStatusReserved));

            A.CallTo(() => _bookRepository.GetByTitle(InvalidTitle))
                .Throws<BookNotFoundException>();
            A.CallTo(() => _bookRepository.GetByAuthor(InvalidAuthor))
                .Throws<BookNotFoundException>();
            A.CallTo(() => _bookRepository.GetByIsbn(InvalidIsbn))
                .Throws<BookNotFoundException>();
            A.CallTo(() => _bookRepository.GetByPublisher(InvalidPublisher))
                .Throws<BookNotFoundException>();

            _bookService = new BookService(_bookRepository);
        }