public void Return_Unborrowed_Throws_Exception() { // Arrange Book newBook = new Book() { Id = 0 }; System.Action returnUnborrowed = () => repo.Return(newBook, userAlice); // Asert returnUnborrowed.ShouldThrow <System.InvalidOperationException>() .WithMessage("You cannot return a book that has not been borrowed"); }
public void Borrow_Borrowed_Throws_Exception() { // Arrange Book newBook = new Book() { Id = 0 }; System.Action borrowBorrowed = () => repo.Borrow(newBook, userAlice); // Act repo.Borrow(newBook, userAlice); // Asert borrowBorrowed.ShouldThrow <System.InvalidOperationException>(); }
public void Return_Borrowed_By_Other_Throws_Exception() { // Arrange Book newBook = new Book() { Id = 0 }; User userBob = new User() { Name = "Bob" }; System.Action returnBorrowedByOther = () => repo.Return(newBook, userBob); // Act repo.Borrow(newBook, userAlice); // Asert returnBorrowedByOther.ShouldThrow <System.InvalidOperationException>() .WithMessage("You cannot return a book that someone else borrowed"); }