Пример #1
0
        public void TestMoveBookNoSuchShelf()
        {
            var shelfManagerMock = new Mock <IShelfManager>();
            var bookManagerMock  = new Mock <IBookManager>();

            bookManagerMock.Setup(m =>
                                  m.GetListOfBooksByTitle(It.IsAny <string>()))
            .Returns(new List <Book> {
                new Book
                {
                    Title   = "Clean Code",
                    ShelfID = 2,
                }
            });

            shelfManagerMock.Setup(m =>
                                   m.GetShelf(It.IsAny <int>()))
            .Returns <Shelf>(null);

            var bookAPI     = new BookAPI(bookManagerMock.Object, shelfManagerMock.Object);
            var successfull = bookAPI.MoveBookToAnotherShelf("Clean code", 1);

            Assert.AreEqual(BookErrorCodes.NoSuchShelf, successfull);
            bookManagerMock.Verify(m =>
                                   m.MoveBook(It.IsAny <Book>(), It.Is <int>(i => i == 1)), Times.Never);
        }
Пример #2
0
        public void TestAddBook()
        {
            var shelfManagerMock = new Mock <IShelfManager>();
            var bookManagerMock  = new Mock <IBookManager>();

            shelfManagerMock.Setup(m =>
                                   m.GetShelf(It.IsAny <int>()))
            .Returns(new Shelf
            {
                ShelfID     = 1,
                ShelfNumber = 1,
            });

            bookManagerMock.Setup(m =>
                                  m.GetListOfBooksByTitle(It.IsAny <string>()))
            .Returns(new List <Book>());

            bookManagerMock.Setup(m =>
                                  m.AddBook(It.IsAny <string>(), It.IsAny <string>(), It.IsAny <double>(), It.IsAny <long>(), It.IsAny <int>()));

            var bookAPI     = new BookAPI(bookManagerMock.Object, shelfManagerMock.Object);
            var successfull = bookAPI.AddNewBook("Clean Code", "Robert", 450.30, 9780136083221, 1);

            Assert.AreEqual(BookErrorCodes.ok, successfull);
            bookManagerMock.Verify(m =>
                                   m.AddBook(It.IsAny <string>(), It.IsAny <string>(), It.IsAny <double>(), It.IsAny <long>(), It.IsAny <int>()), Times.Once);
        }
Пример #3
0
        public void TestRemoveBorrowedBook()
        {
            var bookManagerMock = new Mock <IBookManager>();

            bookManagerMock.Setup(m =>
                                  m.GetBookByBookID(It.IsAny <int>()))
            .Returns(new Book
            {
                BookID = 1,
                Borrow = new Borrow
                {
                    BorrowID = 1
                }
            });

            bookManagerMock.Setup(m =>
                                  m.RemoveBook(It.IsAny <Book>()));

            var bookAPI     = new BookAPI(bookManagerMock.Object, null);
            var successfull = bookAPI.RemoveBookFromLibrary(1);

            Assert.AreEqual(BookErrorCodes.BookBorrowed, successfull);
            bookManagerMock.Verify(m =>
                                   m.RemoveBook(It.IsAny <Book>()), Times.Never);
        }
        public void TestAddBookAlreadyExists()
        {
            var shelfManagerMock = new Mock <IShelfManager>();
            var bookManagerMock  = new Mock <IBookManager>();


            bookManagerMock.Setup(m =>
                                  m.GetBookByBookNumber(It.IsAny <int>()))
            .Returns(new Book
            {
                BookNumber = 2
            });

            shelfManagerMock.Setup(m =>
                                   m.GetShelfByShelfNumber(It.IsAny <int>(), (It.IsAny <int>())))
            .Returns(new Shelf
            {
                ShelfID = 2
            });

            var bookAPI = new BookAPI(bookManagerMock.Object, shelfManagerMock.Object, null);
            var result  = bookAPI.AddBook("Boken om kakor", "Gunni", "9789127154377", 2018, 3, 80, 18, false, 1, 3);

            Assert.AreEqual(ErrorCodesAddBook.BookAlreadyExsist, result);
            bookManagerMock.Verify(m =>
                                   m.AddBook("Boken om kakor", "Gunni", "9789127154377", 2018, 3, 80, 18, false, 1, 3), Times.Never());
        }
        public void TestMoveBookOk()
        {
            var shelfManagerMock = new Mock <IShelfManager>();
            var bookManagerMock  = new Mock <IBookManager>();

            shelfManagerMock.Setup(m =>
                                   m.GetShelfByShelfNumber(It.IsAny <int>(), It.IsAny <int>()))
            .Returns(new Shelf {
                ShelfID = 2
            });

            bookManagerMock.Setup(m =>
                                  m.GetBookByBookTitle(It.IsAny <string>()))
            .Returns(new Book
            {
                BookID = 2,
                Shelf  = new Shelf()
            });

            var bookAPI = new BookAPI(shelfManagerMock.Object, bookManagerMock.Object);
            var result  = bookAPI.MoveBook("Moby Dick", 101, 2);

            Assert.AreEqual(BookStatusCodes.Ok, result);
            bookManagerMock.Verify(m =>
                                   m.MoveBook(2, 2), Times.Once());
        }
        public void TestAddBookNeedShelf()
        {
            var bookManagerMock  = new Mock <IBookManager>();
            var shelfManagerMock = new Mock <IShelfManager>();
            var book             = new Book
            {
                BookNumber = 1
            };
            var bookAPI = new BookAPI(bookManagerMock.Object, shelfManagerMock.Object, null);
            var result  = bookAPI.AddBook("Boken om kakor", "Gunni", "9789127154377", 2018, 3, 80, 18, false, 1, 3);

            Assert.AreEqual(ErrorCodesAddBook.BookNeedsAShelf, result);
            bookManagerMock.Verify(m =>
                                   m.AddBook(
                                       It.IsAny <string>(),
                                       It.IsAny <string>(),
                                       It.IsAny <string>(),
                                       It.IsAny <int>(),
                                       It.IsAny <int>(),
                                       It.IsAny <int>(),
                                       It.IsAny <int>(),
                                       It.IsAny <bool>(),
                                       It.IsAny <int>(),
                                       It.IsAny <int>()),
                                   Times.Never());
        }
Пример #7
0
        public void MoveBook()
        {
            var bookManagerMock = new Mock <IBookManager>();

            var shelfManagerMock = new Mock <IShelfManager>();


            shelfManagerMock.Setup(m =>
                                   m.GetShelfByNumber(It.IsAny <int>()))
            .Returns(new Shelf {
                ShelfNr = 2
            });



            bookManagerMock.Setup(m =>
                                  m.GetBookByNumber(It.IsAny <long>()))
            .Returns(new Book
            {
                Shelf   = new Shelf(),
                ShelfNr = 3
            });


            var bookAPI = new BookAPI(bookManagerMock.Object, shelfManagerMock.Object);
            var result  = bookAPI.MoveBook(9780132911221, true);

            Assert.AreEqual(MoveBookErrorCodes.OK, result);
            bookManagerMock.Verify(m =>
                                   m.MoveBook(2, 2), Times.Once());
        }
Пример #8
0
        public void SetDiscardBook()
        {
            var bookManagerMock  = new Mock <IBookManager>();
            var shelfManagerMock = new Mock <IShelfManager>();


            bookManagerMock.Setup(m =>
                                  m.GetBookByNumber(It.IsAny <long>()))
            .Returns(new Book
            {
                BookDiscardListNr = 1,
                Condition         = 2,
                OnLoan            = false,
                Title             = "Clean Code",
                AisleNr           = 3,
                ShelfNr           = 7
            });



            var bookAPI     = new BookAPI(bookManagerMock.Object, shelfManagerMock.Object);
            var successfull = bookAPI.RemoveBook(1);

            Assert.AreEqual(RemoveBookErrorCodes.PoorCondition, successfull);
            bookManagerMock.Verify(m =>
                                   m.RemoveBook(It.IsAny <long>()), Times.Once);
        }
Пример #9
0
        public void MoveBookAlreadyInThatShelf()
        {
            var currentAisle = new Aisle {
                AisleNumber = 1
            };
            var currentShelf = (new Shelf
            {
                ShelfNumber = 1,
                Aisle = currentAisle
            });

            var shelfManagerMock = SetupMock(currentShelf);

            var bookManagerMock = SetupMock(new Book
            {
                BookID = 1,
                Shelf  = currentShelf
            });

            var bookAPI = new BookAPI(shelfManagerMock.Object, bookManagerMock.Object);
            var result  = bookAPI.MoveBook("Circe", 1, 1);

            Assert.AreEqual(MoveBookStatusCodes.BookAlreadyInThatShelf, result);
            bookManagerMock.Verify(m =>
                                   m.MoveBook(1, 1), Times.Never());
        }
        public void MoveBookOk()
        {
            var shelfManagerMock = new Mock <IShelfManager>();
            var bookManagerMock  = new Mock <IBookManager>();

            shelfManagerMock.Setup(m =>
                                   m.GetShelfByShelfNumber(It.IsAny <int>(), It.IsAny <int>()))
            .Returns(new Shelf {
                ShelfID = 2
            });

            bookManagerMock.Setup(m =>
                                  m.GetBookByBookNumber(It.IsAny <int>()))
            .Returns(new Book
            {
                BookID = 2,
                Shelf  = new Shelf()
            });

            var bookAPI = new BookAPI(bookManagerMock.Object, shelfManagerMock.Object, null);
            var result  = bookAPI.MoveBook(1, 1, 1);

            Assert.AreEqual(ErrorCodesMoveBook.Ok, result);
            bookManagerMock.Verify(m =>
                                   m.MoveBook(2, 2), Times.Once());
        }
Пример #11
0
        private static bool AddBookNumberOne(Mock <IBookManager> bookmanagerMock)
        {
            var book        = new BookAPI(bookmanagerMock.Object);
            var successfull = book.AddBook(9780132911221);

            return(successfull);
        }
Пример #12
0
        public FileResult Download(int id)
        {
            var book        = BookAPI.GetBook(id);
            var filePath    = Server.MapPath("~/Files/" + book.RealFileName);
            var contentType = MimeMapping.GetMimeMapping(book.RealFileName);

            return(File(filePath, contentType, book.FileName));
        }
        private BookStatusCodes AddBookNumberOne(Mock <IBookManager> bookManagerMock)
        {
            var shelfManagerMock = new Mock <IShelfManager>();

            var bookAPI     = new BookAPI(shelfManagerMock.Object, bookManagerMock.Object);
            var successfull = bookAPI.AddBook("Clean Code", "Robert C. Martin", "9780132350884", 452, 2019, 5, new Shelf(), false);

            return(successfull);
        }
Пример #14
0
        public ActionResult Delete(int id)
        {
            var b = BookAPI.GetBook(id);

            if (b == null)
            {
                return(HttpNotFound());
            }
            return(View(b));
        }
Пример #15
0
        public void RemoveNonExistingBook()
        {
            var bookManagerMock = SetupMock((Book)null);

            var bookAPI     = new BookAPI(null, bookManagerMock.Object);
            var successfull = bookAPI.RemoveBook("Circe");

            Assert.AreEqual(RemoveBookStatusCodes.NoSuchBook, successfull);
            bookManagerMock.Verify(m =>
                                   m.RemoveBook(It.IsAny <int>()), Times.Never);
        }
Пример #16
0
 private void listView1_DoubleClick(object sender, EventArgs e)
 {
     if (MessageBox.Show("还书", "确认是否还书", MessageBoxButtons.YesNo) == DialogResult.Yes)
     {
         if (listView1.SelectedItems.Count == 1)
         {
             string logid = listView1.SelectedItems[0].SubItems[3].Text;
             BookAPI.ReturnBook(Program.users, logid);
             LoadData();
         }
     }
 }
Пример #17
0
        public void AddBookToNonExistingShelf()
        {
            var shelfManagerMock = SetupMock((Shelf)null);
            var bookManagerMock  = new Mock <IBookManager>();

            var bookAPI = new BookAPI(shelfManagerMock.Object, bookManagerMock.Object);
            var result  = bookAPI.AddBook("9781526610140", "Circe", "Madeline Miller", 199, 4, 1, 3);

            Assert.AreEqual(AddBookStatusCodes.NoSuchShelf, result);
            bookManagerMock.Verify(
                m => m.AddBook("9781526610140", "Circe", "Madeline Miller", 2019, 199, 4, new Shelf(), false, null), Times.Never());
        }
Пример #18
0
        public void MoveBookNoSuchBook()
        {
            var shelfManagerMock = SetupMock(new Shelf {
                ShelfID = 2
            });
            var bookManagerMock = SetupMock((Book)null);

            var bookAPI = new BookAPI(shelfManagerMock.Object, bookManagerMock.Object);
            var result  = bookAPI.MoveBook("Circe", 1, 1);

            Assert.AreEqual(MoveBookStatusCodes.NoSuchBook, result);
            shelfManagerMock.Verify(m =>
                                    m.MoveShelf(2, 2), Times.Never());
        }
Пример #19
0
        public ActionResult Index()
        {
            var     books = BookAPI.GetAllBooks();
            UserDTO user  = null;

            if (User.Identity.IsAuthenticated)
            {
                user = UserAPI.GetUser(User.Identity.Name);
            }
            var model = new HomePageModel {
                Books = books, User = user
            };

            return(View(model));
        }
        public void TestMoveBookNoSuchBook()
        {
            var shelfManagerMock = SetupMock(new Shelf {
                ShelfNumber = 101
            });
            var bookManagerMock = SetupMock((Book)null);

            var bookApi = new BookAPI(shelfManagerMock.Object, bookManagerMock.Object);
            var result  = bookApi.MoveBook("ABC", 101, 3);

            Assert.AreEqual(BookStatusCodes.NoSuchBook, result);
            bookManagerMock.Verify(
                m => m.MoveBook(It.Is <int>(i => i == 9), It.Is <int>(i => i == 3)),
                Times.Never());
        }
        public void TestRemoveNonexistingBook()
        {
            var bookManagerMock = new Mock <IBookManager>();

            bookManagerMock.Setup(m =>
                                  m.GetBookByBookNumber(It.IsAny <int>()))
            .Returns((Book)null);

            var bookAPI     = new BookAPI(bookManagerMock.Object, null, null);
            var successfull = bookAPI.RemoveBook(1);

            Assert.AreEqual(ErrorCodesRemoveBook.NoSuchBook, successfull);
            bookManagerMock.Verify(m =>
                                   m.RemoveBook(It.IsAny <int>()), Times.Never);
        }
Пример #22
0
        public void ClearEmptyDiscardList()
        {
            var bookManagerMock = new Mock <IBookManager>();

            bookManagerMock.Setup(m =>
                                  m.GetAllBooksInDiscardList())
            .Returns(new List <Book>());

            var bookAPI = new BookAPI(null, bookManagerMock.Object);
            var result  = bookAPI.ClearDiscardList();

            Assert.AreEqual(ClearDiscardListStatusCodes.NoDiscardBooksToClear, result);
            bookManagerMock.Verify(
                m => m.ClearDiscardList(It.IsAny <List <Book> >()), Times.Never);
        }
Пример #23
0
        //ADD BOOK:
        private AddBookStatusCodes AddFirstBookCirce(Mock <IBookManager> bookManagerMock)
        {
            var aisle = new Aisle {
                AisleNumber = 3
            };
            var shelfManagerMock = SetupMock(new Shelf
            {
                ShelfNumber = 1,
                Aisle       = aisle
            });

            var bookAPI     = new BookAPI(shelfManagerMock.Object, bookManagerMock.Object);
            var successfull = bookAPI.AddBook("9781526610140", "Circe", "Madeline Miller", 199, 4, 1, 3);

            return(successfull);
        }
Пример #24
0
        public void RemoveBorrowedBook()
        {
            var bookManagerMock = SetupMock(new Book
            {
                BookID     = 4,
                BookTitle  = "Circe",
                IsBorrowed = true
            });

            var bookAPI     = new BookAPI(null, bookManagerMock.Object);
            var successfull = bookAPI.RemoveBook("Circe");

            Assert.AreEqual(RemoveBookStatusCodes.BookIsBorrowed, successfull);
            bookManagerMock.Verify(m =>
                                   m.RemoveBook(It.IsAny <int>()), Times.Never);
        }
Пример #25
0
        private void button1_Click(object sender, EventArgs e)
        {
            if (MessageBox.Show("提交", "", MessageBoxButtons.YesNo) == DialogResult.No)
            {
                return;
            }
            List <string> bookids = new List <string>();

            // 提交
            foreach (ListViewItem listViewItem in listView1.Items)
            {
                Console.WriteLine(":" + listViewItem.Text);
                bookids.Add(listViewItem.Text);
            }
            BookAPI.BorrowBooks(Program.users, Program.userinfo.userid, bookids);
        }
        public void TestMoveBookNoSuchShelf()
        {
            var shelfManagerMock = SetupMock((Shelf)null);
            var bookManagerMock  = SetupMock(new Book
            {
                BookID    = 4,
                BookTitle = "Moby Dick"
            });

            var bookApi = new BookAPI(shelfManagerMock.Object, bookManagerMock.Object);
            var result  = bookApi.MoveBook("Moby Dick", 101, 3);

            Assert.AreEqual(BookStatusCodes.NoSuchShelf, result);
            bookManagerMock.Verify(
                m => m.MoveBook(It.Is <int>(i => i == 4), It.Is <int>(i => i == 12)),
                Times.Never());
        }
        public void TestRemoveNonExistingBook()
        {
            var bookManagerMock = new Mock <IBookManager>();
            var loanManagerMock = new Mock <ILoanManager>();


            bookManagerMock.Setup(m =>
                                  m.GetBookByBookTitle(It.IsAny <string>()))
            .Returns((Book)null);

            var bookAPI     = new BookAPI(bookManagerMock.Object, loanManagerMock.Object);
            var successfull = bookAPI.RemoveBook("ABC");

            Assert.AreEqual(BookStatusCodes.NoSuchBook, successfull);
            bookManagerMock.Verify(m =>
                                   m.RemoveBook(It.IsAny <int>()), Times.Never);
        }
        private ErrorCodesAddBook AddBookNumberOne(Mock <IBookManager> bookManagerMock)
        {
            var shelfManagerMock = new Mock <IShelfManager>();

            shelfManagerMock.Setup(m =>
                                   m.GetShelfByShelfNumber(It.IsAny <int>(), (It.IsAny <int>())))
            .Returns(new Shelf
            {
                ShelfNumber = 1,
                PathID      = 1
            });

            var bookAPI     = new BookAPI(bookManagerMock.Object, shelfManagerMock.Object, null);
            var successfull = bookAPI.AddBook("Boken om kakor", "Gunni", "9789127154377", 2018, 3, 80, 18, false, 1, 3);

            return(successfull);
        }
Пример #29
0
        public void MoveBookOk()
        {
            var shelfManagerMock = SetupMock(new Shelf {
                ShelfID = 2
            });
            var bookManagerMock = SetupMock(new Book
            {
                BookID = 2,
                Shelf  = new Shelf()
            });

            var bookAPI = new BookAPI(shelfManagerMock.Object, bookManagerMock.Object);
            var result  = bookAPI.MoveBook("Circe", 1, 1);

            Assert.AreEqual(MoveBookStatusCodes.Ok, result);
            bookManagerMock.Verify(m =>
                                   m.MoveBook(2, 2), Times.Once());
        }
Пример #30
0
        public void CreateDiscardListNoBooksInBadCondition()
        {
            var bookManagerMock = new Mock <IBookManager>();

            bookManagerMock.Setup(m =>
                                  m.GetAllBooksWithConditionOne(It.IsAny <int>(), It.IsAny <bool>()))
            .Returns(new List <Book>());

            var shelfManagerMock = SetupMock(new Shelf {
                ShelfID = 2
            });

            var bookAPI = new BookAPI(shelfManagerMock.Object, bookManagerMock.Object);
            var result  = bookAPI.CreateDiscardList();

            Assert.AreEqual(CreateDiscardListStatusCodes.NoBooksInConditionOne, result);
            bookManagerMock.Verify(
                m => m.CreateDiscardList(It.IsAny <Shelf>(), It.IsAny <Book>()), Times.Never);
        }