protected override void ProcessRecord() { try { LibraryClient lc = new LibraryClient(); bool returned = lc.ReturnBook(ISBN); if (returned) { WriteObject("Successfully returned the book"); } else { throw new Exception("book can't be returned"); } } catch (Exception e) { WriteError( new ErrorRecord( e, "ReturnBookException", ErrorCategory.NotSpecified, ISBN ) ); } }
public void TestReturnBook() { TestSetup(); LibraryClient lc = new LibraryClient(); Assert.IsTrue(lc.AddNewBook("01", "name1", "author1", "desc1")); Assert.IsTrue(lc.AddNewBook("02", "name2", "author2", "desc2")); Assert.IsTrue(lc.AddNewBook("03", "name3", "author3", "desc3")); Assert.IsTrue(lc.IssueBook("01", "emp1")); Assert.IsTrue(lc.IssueBook("02", "emp1")); try { lc.IssueBook("02", "emp2"); Assert.Fail(); } catch (Exception e) { Assert.AreEqual("Book is already issued...!", e.Message); } Assert.IsTrue(lc.ReturnBook("02")); Assert.IsTrue(lc.IssueBook("02", "emp2")); Assert.AreEqual("emp2", lc.GetBook("02").Borrowed_by); try { lc.ReturnBook("sdfsffd"); Assert.Fail(); } catch (Exception e) { Assert.AreEqual("Wrong ISBN...!", e.Message); } try { lc.ReturnBook(""); Assert.Fail(); } catch (Exception e) { Assert.AreEqual("ISBN is required...!", e.Message); } try { lc.ReturnBook("03"); Assert.Fail(); } catch (Exception e) { Assert.AreEqual("Book is already returned...!", e.Message); } }