public void ReturnBookTest() { DatabasePackage databasePackage = new DatabasePackage(_ConnectionString); SqlDataReader reader = null; LibraryRepository libraryRepository = new LibraryRepository(_ConnectionString); try { // Add a new Book Book newBook = new Book(); newBook.Name = "Unit Test Book"; libraryRepository.SaveBook(newBook); databasePackage.CommandText = "Select ID From Book Where Name = 'Unit Test Book'"; reader = databasePackage.GetReader(); reader.Read(); int bookID = databasePackage.FieldToInt(reader["ID"]); // Add a new Member Member newMember = new Member(); newMember.Name = "Unit Test Member"; libraryRepository.SaveMember(newMember); databasePackage.CommandText = "Select ID From Member Where Name = 'Unit Test Member'"; reader = databasePackage.GetReader(); reader.Read(); int memberID = databasePackage.FieldToInt(reader["ID"]); // Issue this Book to a Member libraryRepository.IssueBook(bookID, memberID, DateTime.Now); // Test the function libraryRepository.ReturnBook(bookID); Book returnBook = libraryRepository.GetBookByID(bookID); Assert.AreEqual(returnBook.MemberID, 0); // Delete newly added book libraryRepository.DeleteBook(bookID); // Delete newly added Member libraryRepository.DeleteMember(memberID); } catch (Exception) { throw; } finally { if (reader != null) { reader.Close(); } } }