public void SerializeToFileCustom()
        {
            DataRepository  repo     = new DataRepository();
            Book            bok      = new Book("kartofle", "stefan");
            Book            bok2     = new Book("kartofle2", "stefan2");
            BookDescription bokDesc  = new BookDescription("bla", bok);
            BookDescription bokDesc2 = new BookDescription("bla2", bok2);
            Reader          red      = new Reader("zenek", "cos", 666126161);
            Reader          red2     = new Reader("zenek2", "cos2", 40445454);
            Borrow          bor      = new Borrow(red, bokDesc);

            repo.AddReader(red);
            repo.AddReader(red2);
            repo.AddBook(bok);
            repo.AddBook(bok2);
            repo.AddBookDescription(bokDesc);
            repo.AddBookDescription(bokDesc2);
            repo.AddBorrow(bor);
            repo.AddBookNumber(bokDesc, 5000);


            repo.SaveDataCustom("saveData");

            DataRepository repo2 = new DataRepository();

            repo2.LoadDataCustom("saveData");

            Assert.IsTrue(CheckIfSame(repo, repo2));
        }
        public void GetBookDescriptionTest()
        {
            DataRepository dataRepository      = new DataRepository();
            var            MockBookDescription = RandomBookDescription();

            dataRepository.AddBookDescription(MockBookDescription.Object);

            BookDescription bookDescription = dataRepository.GetBookDescription(0);

            Assert.AreEqual(bookDescription, MockBookDescription.Object);
        }
        public void GetAllBookDescriptionsTest()
        {
            const int      NUMBER_OF_BOOK_DESCRIPTION  = 100;
            DataRepository dataRepository              = new DataRepository();
            var            ExpectedBookDescriptionlist = new List <BookDescription>();

            for (int i = 0; i < NUMBER_OF_BOOK_DESCRIPTION; i++)
            {
                var MockBookDescription = RandomBookDescription();

                dataRepository.AddBookDescription(MockBookDescription.Object);
                ExpectedBookDescriptionlist.Add(MockBookDescription.Object);
            }

            Assert.IsTrue(ExpectedBookDescriptionlist.SequenceEqual(dataRepository.GetAllBookDescriptions()));
        }
        public void AddBookDescriptionTest()
        {
            DataRepository dataRepository      = new DataRepository();
            var            MockBookDescription = RandomBookDescription();

            dataRepository.AddBookDescription(MockBookDescription.Object);

            //Test reflected object
            var         data        = typeof(DataRepository).GetField("Data", System.Reflection.BindingFlags.NonPublic | System.Reflection.BindingFlags.Instance);
            DataContext dataContext = (DataContext)data.GetValue(dataRepository);

            Assert.AreEqual(1, dataContext.BookDescriptions.Count());

            //Test object given by getAllBooks method
            Assert.AreEqual(1, dataRepository.GetAllBookDescriptions().Count());
        }
        public void UpdateBookDescriptionTest()
        {
            //preperation is the same as in addBook
            DataRepository dataRepository      = new DataRepository();
            var            MockBookDescription = RandomBookDescription();

            dataRepository.AddBookDescription(MockBookDescription.Object);
            BookDescription bookkDescription = dataRepository.GetBookDescription(0);

            Assert.AreEqual(bookkDescription, MockBookDescription.Object);

            //test if book can be changed
            var MockBookDescription2 = RandomBookDescription();

            dataRepository.UpdateBookDescription(0, MockBookDescription2.Object);

            Assert.AreEqual(MockBookDescription2.Object, dataRepository.GetBookDescription(0));
        }