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) ); }
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) ); }
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); }
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); }