Ejemplo n.º 1
0
        public void CanGetLoansByBookTitle()
        {
            var helper = Substitute.For <ILoanHelper>();

            var loanDao = new LoanDao(helper);

            var book   = Substitute.For <Book>("author", "testing", "call", 1);
            var member = Substitute.For <IMember>();

            var borrowDate = DateTime.Today;
            var dueDate    = DateTime.Today.AddDays(7);

            var storedLoan = Substitute.For <Loan>(book, member, borrowDate, dueDate);

            loanDao.LoanList = new List <ILoan>
            {
                Substitute.For <Loan>(Substitute.For <Book>("author", "title", "call", 1), Substitute.For <IMember>(), borrowDate, dueDate),
                Substitute.For <Loan>(Substitute.For <Book>("author", "title", "call", 1), Substitute.For <IMember>(), borrowDate, dueDate),
                storedLoan
            };

            var loans = loanDao.FindLoansByBookTitle("testing");

            Assert.NotNull(loans);
            Assert.Equal(storedLoan, loans[0]);
        }
        public void CanGetLoanByBookTitle()
        {
            ILoanHelper loanHelper = new LoanHelper();
            ILoanDAO    loanDao    = new LoanDao(loanHelper);

            IMemberHelper memberHelper = new MemberHelper();
            IMemberDAO    memberDao    = new MemberDao(memberHelper);

            IBookHelper bookHelper = new BookHelper();
            IBookDAO    bookDao    = new BookDao(bookHelper);

            var borrowDate = DateTime.Today;
            var dueDate    = DateTime.Today.AddDays(7);

            var member = memberDao.AddMember("Jim", "Tulip", "csu phone", "*****@*****.**");

            var book = bookDao.AddBook("Jim Tulip", "Adventures in Programming", "call number");

            var loan = loanDao.CreateLoan(member, book, borrowDate, dueDate);

            loanDao.CommitLoan(loan);

            for (int i = 0; i < 10; i++)
            {
                var m = memberDao.AddMember("Test", "Test", "Test Phone", "Test Email");
                var b = bookDao.AddBook("Test", "Test", "Test");

                var l = loanDao.CreateLoan(m, b, borrowDate, dueDate);

                loanDao.CommitLoan(l);
            }

            var result = loanDao.FindLoansByBookTitle(book.Title);

            var single = result.Single();

            Assert.Equal(loan, single);
        }