public void AddBookTest()
        {
            int beforeSize     = repository.GetAllBooks().Count();
            var beforeLastBook = repository.GetAllBooks().Last();
            var bookToAdd      = new Book()
            {
                Isbn        = "9788327152305",
                Title       = "Człowiek nietoperz",
                Author      = "Jo Nesbo",
                ReleaseYear = 2014
            };

            service.AddBook(bookToAdd);
            int afterSize     = repository.GetAllBooks().Count();
            var afterLastBook = repository.GetAllBooks().Last();

            // check sizes
            Assert.AreNotEqual(beforeSize, afterSize);

            // check if last books aren't equal
            Assert.AreNotEqual(beforeLastBook, afterLastBook);

            // check if the book is in the list
            Assert.IsTrue(context.books.ContainsKey(bookToAdd.Isbn));
        }
 public void AddBookTest()
 {
     AddAuthorTest();
     Assert.ThrowsException <ArgumentException>(() => _dataService.AddBook("Pan Tadeusz", new Author(Guid.NewGuid(), "Jan", "Brzechwa"), "ksiazka", Book.BookType.Classics));
     _dataService.AddBook("Pan Tadeusz", _dataService.GetAllAuthors().ElementAt(0), "ksiazka", Book.BookType.Classics);
     Assert.AreEqual(1, _dataService.GetAllBooks().Count());
     Assert.ThrowsException <ArgumentNullException>(() => _dataService.AddBook("Pan Tadeusz", null, "ksiazka", Book.BookType.Classics));
 }
Ejemplo n.º 3
0
        public void AddBookTest()
        {
            Assert.AreEqual(service.GetAllBooksNumber(), 5);

            service.AddBook(new Book(11, "A Game of Thrones", "George R.R.Martin", 1996, BookGenre.Fantasy));
            service.AddBook(new Book(12, "A Clash of Kings", "George R.R.Martin", 1998, BookGenre.Fantasy));
            service.AddBook(new Book(13, "A Storm of Swords", "George R.R.Martin", 2000, BookGenre.Fantasy));

            Assert.AreEqual(service.GetAllBooksNumber(), 8);
        }
Ejemplo n.º 4
0
        public void GetBooksByTitleTest()
        {
            TestRepository testRepository = new TestRepository();
            DataService    dataService    = new DataService(testRepository);

            dataService.AddBook("Pan Tadeusz", "Adam M", Guid.Parse("53D2DA0E-22C1-4A0E-BF60-96859EB5A143"));
            dataService.AddBook("Pan Tadeusz1", "Adam K", Guid.Parse("52D2DA0E-22C1-4A0E-BF60-96859EB5A143"));
            dataService.AddBook("Pan Tadeusz1", "Adam M", Guid.Parse("51D2DA0E-22C1-4A0E-BF60-96859EB5A143"));
            Assert.AreEqual(2, new List <Book>(dataService.GetBooksByTitle("Pan Tadeusz1")).Count);
        }
Ejemplo n.º 5
0
        public void GetBookByIsbnTest()
        {
            TestRepository testRepository = new TestRepository();
            DataService    dataService    = new DataService(testRepository);
            List <Book>    books          = new List <Book>
            {
                new Book("Pan Tadeusz", "Adam M", Guid.Parse("53D2DA0E-22C1-4A0E-BF60-96859EB5A143")),
                new Book("Pan Tadeusz1", "Adam M", Guid.Parse("52D2DA0E-22C1-4A0E-BF60-96859EB5A143"))
            };

            dataService.AddBook("Pan Tadeusz", "Adam M", Guid.Parse("53D2DA0E-22C1-4A0E-BF60-96859EB5A143"));
            dataService.AddBook("Pan Tadeusz1", "Adam M", Guid.Parse("52D2DA0E-22C1-4A0E-BF60-96859EB5A143"));
            Assert.AreEqual(books[0], dataService.GetBookByIsbn(Guid.Parse("53D2DA0E-22C1-4A0E-BF60-96859EB5A143")));
        }
Ejemplo n.º 6
0
        public void GetAllBooksTest()
        {
            TestRepository testRepository = new TestRepository();
            DataService    dataService    = new DataService(testRepository);
            List <Book>    books          = new List <Book>
            {
                new Book("Pan Tadeusz", "Adam M", Guid.Parse("53D2DA0E-22C1-4A0E-BF60-96859EB5A143")),
                new Book("Pan Tadeusz1", "Adam M", Guid.Parse("52D2DA0E-22C1-4A0E-BF60-96859EB5A143"))
            };

            dataService.AddBook("Pan Tadeusz", "Adam M", Guid.Parse("53D2DA0E-22C1-4A0E-BF60-96859EB5A143"));
            dataService.AddBook("Pan Tadeusz1", "Adam M", Guid.Parse("52D2DA0E-22C1-4A0E-BF60-96859EB5A143"));
            CollectionAssert.AreEqual(books, (System.Collections.ICollection)dataService.GetAllBooks());
        }
Ejemplo n.º 7
0
        public void GetAllBooksTest()
        {
            DataRepository dataRepository = new DataRepository();
            DataService    dataService    = new DataService(dataRepository);

            dataService.AddBook(new Book("Something Fishy", "Wodehouse", 1957));
            dataService.AddBook(new Book("Pet Sematary", "King", 1983));
            dataService.AddBook(new Book("Harry Potter and the Half-Blook Prince", "Rowling", 2005));
            dataService.AddBook(new Book("Marley & Me", "Grogan", 2005));
            dataService.AddBook(new Book("Feast", "Masterton", 1988));

            Assert.AreEqual(5, dataService.GetAllBooks().Count());
            Assert.IsInstanceOfType(dataService.GetAllBooks(), typeof(IEnumerable <Book>));
        }
Ejemplo n.º 8
0
        public void AddBook_RepositoryThrowsException_ThrowsException()
        {
            _repoMock
            .Setup(repo => repo.AddBook(It.IsAny <Book>()))
            .Throws(new DataException("Test data exception!"));

            _dataService = new DataService(_repoMock.Object, _dateProviderMock.Object);

            var isbn = new Isbn("979-3-16-148410-0");

            var exception = Assert.ThrowsException <DataServiceException>(
                () => _dataService.AddBook(isbn, "Title", "Author")
                );

            Assert.IsInstanceOfType(exception.InnerException, typeof(DataException));

            Predicate <Book> validator = e =>
                                         e.Isbn == isbn &&
                                         e.Name == "Title" &&
                                         e.Author == "Author";

            _repoMock.Verify(
                repo => repo.AddBook(Match.Create <Book>(validator)),
                Times.Once()
                );
        }
Ejemplo n.º 9
0
        public void InitBook()
        {
            Parallel.ForEach(typeof(ChildEnum).GetEnumSource(), (child) =>
            {
                Parallel.ForEach(typeof(DegreeEnum).GetEnumSource(), (degree) =>
                {
                });
            });
            foreach (var child in typeof(ChildEnum).GetEnumSource())
            {
                foreach (var degree in typeof(DegreeEnum).GetEnumSource())
                {
                    var childId  = child.Item1.NullToInt();
                    var degreeId = degree.Item1.NullToInt();
                    var url      = string.Format("https://www.zujuan.com/question?chid={0}&xd={1}", child.Item1, degree.Item1);

                    var html = new HttpUnitHelper().GetRealHtmlTrice(url);

                    var doc = NSoupClient.Parse(html);

                    //获取当前dgree下的科目下的教材版本
                    var bookTypeDoc = doc.Select("div.search-type div.con-items")[0].GetElementsByTag("a");

                    foreach (var element in bookTypeDoc)
                    {
                        var elementId = element.Attr("data-bcaid");
                        var name      = element.Text();

                        DataService.AddBook(childId, degreeId, name, elementId.NullToInt());
                    }
                }
            }
        }
Ejemplo n.º 10
0
        public void AddBookTest()
        {
            TestRepository testRepository = new TestRepository();
            DataService    dataService    = new DataService(testRepository);

            dataService.AddBook("Pan Tadeusz", "Adam M", Guid.NewGuid());
            Assert.AreEqual(1, testRepository.books.Count);
        }
Ejemplo n.º 11
0
        public void Test_Add_Book_Id_Exist()
        {
            IDataFill      dataFill       = new WypelnianieStalymi();
            DataContext    dataContest    = new DataContext();
            DataRepository dataRepository = new DataRepository(dataFill, dataContest);
            DataService    dataService    = new DataService(dataRepository);

            dataService.AddBook("Pan Tadeusz", "opis", "Adam Mickiewicz", 1);
        }
Ejemplo n.º 12
0
        public void AddBookTest()
        {
            DataRepository dataRepository = new DataRepository();
            DataService    dataService    = new DataService(dataRepository);
            Book           book           = new Book("Bk name", "Bk author", 2010);

            Assert.AreEqual(dataService.GetAllBooks().Count(), 0);
            dataService.AddBook(book);
            Assert.AreEqual(dataService.GetAllBooks().Count(), 1);
        }
Ejemplo n.º 13
0
        public void GetBookTest()
        {
            DataRepository dataRepository = new DataRepository();
            DataService    dataService    = new DataService(dataRepository);
            Book           book           = new Book("Something Fishy", "Wodehouse", 1957);

            dataService.AddBook(book);

            Assert.AreEqual(dataService.GetAllBooks().First(), dataService.GetBook(0));
        }
Ejemplo n.º 14
0
        public void Test_Add_Book()
        {
            IDataFill      dataFill       = new WypelnianieStalymi();
            DataContext    dataContest    = new DataContext();
            DataRepository dataRepository = new DataRepository(dataFill, dataContest);
            DataService    dataService    = new DataService(dataRepository);

            dataService.AddBook("Pan Tadeusz", "opis", "Adam Mickiewicz", 4);
            Assert.AreEqual(4, dataContest.katalogi.Count);
        }
Ejemplo n.º 15
0
        public void ModifyBookTest()
        {
            TestRepository testRepository = new TestRepository();
            DataService    dataService    = new DataService(testRepository);
            Book           book           = new Book("Pan Tadeusz1", "Adam M", Guid.Parse("52D2DA0E-22C1-4A0E-BF60-96859EB5A143"));

            dataService.AddBook("Pan Tadeusz", "Adam M", Guid.Parse("53D2DA0E-22C1-4A0E-BF60-96859EB5A143"));
            dataService.ModifyBook(book);
            Assert.AreEqual(book, dataService.GetBookByIsbn(book.Isbn));
        }
Ejemplo n.º 16
0
        public void DeleteBookByKeyTest()
        {
            DataRepository dataRepository = new DataRepository();
            DataService    dataService    = new DataService(dataRepository);
            Book           book           = new Book("Bk name", "Bk author", 2010);

            dataService.AddBook(book);

            Assert.AreEqual(1, dataService.GetAllBooks().Count());
            dataService.DeleteBook(0);
            Assert.AreEqual(0, dataService.GetAllBooks().Count());
        }
Ejemplo n.º 17
0
        public void GetPurchaseTest()
        {
            DataRepository dataRepository = new DataRepository();
            DataService    dataService    = new DataService(dataRepository);
            Book           book           = new Book("Something Fishy", "Wodehouse", 1957);
            BookDetails    bookDetails    = new BookDetails(book, new decimal(12.99), new decimal(0.05), 12, "Something Fishy is a novel by P. G. Wodehouse, first published in the United Kingdom on 18 January 1957 by Herbert Jenkins, London and in the United States on 28 January 1957 by Simon & Schuster, Inc., New York, under the title The Butler Did It.");
            Client         client         = new Client("ClName", "ClLastName", "99101023432", "321654987");

            dataService.AddBook(book);
            dataService.AddBookDetails(bookDetails);
            dataService.BuyBook(new Publisher("Publisher1", "111111111"), dataService.GetBookDetails(0), 112);

            Assert.AreEqual(dataService.GetAllPurchases().First(), dataService.GetPurchase(0));
        }
Ejemplo n.º 18
0
        public void AddBookTest()
        {
            IDataFiller     constantDataFiller = new ConstantDataFiller();
            IDataRepository dataRepository     = new DataRepositoryForTest(constantDataFiller);
            IDataService    dataService        = new DataService(dataRepository);

            Book book = new Book("W pustyni i w puczczy", "Henryk Sienkiewicz", 1910);

            int booksNumber = dataService.GetBooks().ToImmutableHashSet().Count;

            dataService.AddBook(book);
            Assert.Equal(booksNumber + 1, dataService.GetBooks().ToImmutableHashSet().Count);
            Assert.Equal(book, dataService.GetBooks().Last());
        }
Ejemplo n.º 19
0
        public void DeleteBookDetailsTest()
        {
            DataRepository dataRepository = new DataRepository();
            DataService    dataService    = new DataService(dataRepository);
            Book           book           = new Book("Bk name", "Bk author", 2010);
            BookDetails    bookDetails    = new BookDetails(book, new decimal(24.99), new decimal(0.05), 33, "Book that contains words");

            dataService.AddBook(book);
            dataService.AddBookDetails(bookDetails);

            Assert.AreEqual(1, dataService.GetAllBookDetails().Count());
            dataService.DeleteBookDetails(dataService.GetBookDetails(0));
            Assert.AreEqual(0, dataService.GetAllBookDetails().Count());
        }
Ejemplo n.º 20
0
        public void BuyBookTest()
        {
            DataRepository dataRepository = new DataRepository();
            DataService    dataService    = new DataService(dataRepository);
            Book           book           = new Book("Bk name", "Bk author", 2010);
            BookDetails    bookDetails    = new BookDetails(book, new decimal(24.99), new decimal(0.05), 33, "Book that contains words");
            Publisher      publisher      = new Publisher("Name", "2115");

            dataService.AddBook(book);
            dataService.AddBookDetails(bookDetails);

            Assert.AreEqual(dataService.GetNumberOfBooks(book), 33);
            dataService.BuyBook(publisher, bookDetails, 25);
            Assert.AreEqual(dataService.GetNumberOfBooks(book), 58);
        }
Ejemplo n.º 21
0
        public void SellBookTest()
        {
            DataRepository dataRepository = new DataRepository();
            DataService    dataService    = new DataService(dataRepository);
            Book           book           = new Book("Bk name", "Bk author", 2010);
            BookDetails    bookDetails    = new BookDetails(book, new decimal(24.99), new decimal(0.05), 33, "Book that contains words");
            Client         client         = new Client("ClName", "ClLastName", "99101023432", "321654987");

            dataService.AddBook(book);
            dataService.AddBookDetails(bookDetails);

            Assert.AreEqual(dataService.GetNumberOfBooks(book), 33);
            dataService.SellBook(client, bookDetails, 10);
            Assert.AreEqual(dataService.GetNumberOfBooks(book), 23);
            Assert.IsTrue(dataService.GetPurchasesForClient(client).First().BookDetails.Equals(bookDetails));
        }
Ejemplo n.º 22
0
        public void GetPurchasesForPublisherTest()
        {
            DataRepository dataRepository = new DataRepository();
            DataService    dataService    = new DataService(dataRepository);
            Book           book           = new Book("Something Fishy", "Wodehouse", 1957);
            BookDetails    bookDetails    = new BookDetails(book, new decimal(12.99), new decimal(0.05), 12, "Something Fishy is a novel by P. G. Wodehouse, first published in the United Kingdom on 18 January 1957 by Herbert Jenkins, London and in the United States on 28 January 1957 by Simon & Schuster, Inc., New York, under the title The Butler Did It.");
            Publisher      publisher      = new Publisher("Publisher1", "111111111");

            dataService.AddPublisher(publisher);
            dataService.AddBook(book);
            dataService.AddBookDetails(bookDetails);
            dataService.BuyBook(publisher, dataService.GetBookDetails(0), 112);

            CollectionAssert.AreEqual(new List <Purchase> {
                dataService.GetPurchase(0)
            }, dataService.GetPurchasesForPublisher(dataService.GetPublisher(0)).ToList());
        }
Ejemplo n.º 23
0
        public void GetPurchasesForClientTest()
        {
            DataRepository dataRepository = new DataRepository();
            DataService    dataService    = new DataService(dataRepository);
            Book           book           = new Book("Something Fishy", "Wodehouse", 1957);
            BookDetails    bookDetails    = new BookDetails(book, new decimal(12.99), new decimal(0.05), 12, "Something Fishy is a novel by P. G. Wodehouse, first published in the United Kingdom on 18 January 1957 by Herbert Jenkins, London and in the United States on 28 January 1957 by Simon & Schuster, Inc., New York, under the title The Butler Did It.");
            Client         client         = new Client("ClName", "ClLastName", "99101023432", "321654987");

            dataService.AddClient(client);
            dataService.AddBook(book);
            dataService.AddBookDetails(bookDetails);
            dataService.SellBook(client, bookDetails, 10);

            CollectionAssert.AreEqual(new List <Purchase> {
                dataService.GetPurchase(0)
            }, dataService.GetPurchasesForClient(dataService.GetClient(0)).ToList());
        }
Ejemplo n.º 24
0
        public void DeleteBookTest()
        {
            IDataFiller     constantDataFiller = new ConstantDataFiller();
            IDataRepository dataRepository     = new DataRepositoryForTest(constantDataFiller);
            IDataService    dataService        = new DataService(dataRepository);

            Book book = new Book("W pustyni i w puczczy", "Henryk Sienkiewicz", 1910);

            dataService.AddBook(book);

            int originalCount = dataService.GetBooks().ToImmutableHashSet().Count;

            dataService.DeleteBook(book);

            Assert.Equal(originalCount - 1, dataService.GetBooks().ToImmutableHashSet().Count);
            Assert.DoesNotContain(book, dataService.GetBooks());
        }
Ejemplo n.º 25
0
        public void AddBook_RepositoryAcceptsInput_AddsBook()
        {
            _dataService = new DataService(_repoMock.Object, _dateProviderMock.Object);

            var isbn = new Isbn("979-3-16-148410-0");

            _dataService.AddBook(isbn, "Title", "Author");

            Predicate <Book> validator = e =>
                                         e.Isbn == isbn &&
                                         e.Name == "Title" &&
                                         e.Author == "Author";

            _repoMock.Verify(
                repo => repo.AddBook(Match.Create <Book>(validator)),
                Times.Once()
                );
        }
Ejemplo n.º 26
0
        public void ServiceCRUDBookTest()
        {
            DataRepository repo    = new DataRepository();
            DataService    service = new DataService(repo);

            Book tmp = new Book(1, "Pasja");

            service.AddBook(tmp);

            Assert.AreEqual(tmp.GetHashCode(), service.GetBook(1).GetHashCode());
            Assert.AreEqual(tmp.GetHashCode(), service.GetAllBooks().First().Value.GetHashCode());

            Book tmp1 = new Book(2, "Pasja");

            service.UpdateBook(1, tmp1);

            Assert.AreEqual(tmp1.GetHashCode(), service.GetBook(1).GetHashCode());

            service.DeleteBook(1);

            Assert.IsNull(service.GetBook(1));
        }