Пример #1
0
        public void AddBookCopy_BookInTheRepositoryAlreadyExists_ExceptionThrown()
        {
            _repo = new DataRepository(new ConstDataFiller(books: _booksInDataFiller));

            var bookCopy = new BookCopy(_booksInDataFiller[0], BookCopy.States.Good, 100);

            _repo.AddBookCopy(bookCopy);

            Assert.ThrowsException <DataAlreadyExistsException>(
                () => _repo.AddBookCopy(bookCopy)
                );
        }
Пример #2
0
        public void AddBookCopy_BookDoesNotExistsInTheRepository_ExceptionThrown()
        {
            _repo = new DataRepository(new ConstDataFiller(books: _booksInDataFiller));

            var Book     = new Book(new Isbn("978-3-77-118111-0"), "Sample2", "Sample Author2");
            var bookCopy = new BookCopy(Book, BookCopy.States.Good, 100);

            Assert.ThrowsException <InvalidDataException>(
                () => _repo.AddBookCopy(bookCopy)
                );
        }
Пример #3
0
        public void AddBookCopy_BookCopyNotInTheRepository_BookCopyAdded()
        {
            _repo = new DataRepository(new ConstDataFiller(books: _booksInDataFiller));

            var bookCopy = new BookCopy(_booksInDataFiller[0], BookCopy.States.Good, 100);

            _repo.AddBookCopy(bookCopy);

            var actual = _repo.GetBookCopy(0);

            Assert.AreEqual(bookCopy, actual);
        }
Пример #4
0
        public void AddEvent_LendingBookNotLent_AddsEventAndChangesBookIsLentToTrue()
        {
            _repo = new DataRepository(new ConstDataFiller(books: _booksInDataFiller,
                                                           customers: _customersInDataFiller,
                                                           bookCopies: _bookCopiesInDataFiller,
                                                           events: _eventsInDataFiller));

            var bookCopy = new BookCopy(_booksInDataFiller[3], BookCopy.States.Good, 20);

            _repo.AddBookCopy(bookCopy);

            var eve = new LendBookEvent(bookCopy, _customersInDataFiller[1], DateTime.ParseExact("01/02/2020", "dd/MM/yyyy", null));

            _repo.AddEvent(eve);
            var actual = _repo.GetAllEvents().Contains(eve);

            Assert.AreEqual(true, actual);
            Assert.AreEqual(true, eve.Copy.IsLent);
        }