예제 #1
0
        protected override void ProcessRecord()
        {
            try
            {
                LibraryClient lc = new LibraryClient();

                bool updated = lc.IssueBook(ISBN, EmpName);
                if (updated)
                {
                    WriteObject("Successfully issued the book");
                }
                else
                {
                    throw new Exception("book can't be issued");
                }
            }
            catch (Exception e)
            {
                WriteError(
                    new ErrorRecord(
                        e,
                        "IssueBookException",
                        ErrorCategory.NotSpecified,
                        ISBN
                        )
                    );
            }
        }
예제 #2
0
        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);
            }
        }
예제 #3
0
        public void TestIssueBook()
        {
            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("01", "emp2");
                Assert.Fail();
            }
            catch (Exception e)
            {
                Assert.AreEqual("Book is already issued...!", e.Message);
            }

            try
            {
                lc.IssueBook("", "emp2");
                Assert.Fail();
            }
            catch (Exception e)
            {
                Assert.AreEqual("ISBN is required...!", e.Message);
            }

            try
            {
                lc.IssueBook("werrwre", "emp2");
                Assert.Fail();
            }
            catch (Exception e)
            {
                Assert.AreEqual("Wrong ISBN...!", e.Message);
            }

            try
            {
                lc.IssueBook("03", "");
                Assert.Fail();
            }
            catch (Exception e)
            {
                Assert.AreEqual("Employee Name is required...!", e.Message);
            }
        }