コード例 #1
0
ファイル: ModelTest.cs プロジェクト: pantczak/TP
        public void DataRepositoryBookUpdateTest()
        {
            DataRepository dataRepository = new DataRepository(new ConstFiller());
            Book           book1          = dataRepository.GetAllBook().ToList()[0];
            Book           book2          = new Book("Igrzyska Smierci", "Suzanne Collins", book1.Isbn);
            Client         client1        = dataRepository.GetClient(0);
            Client         client2        = new Client("John", "Watson", 39);
            BookExample    bookExample1   = dataRepository.GetBookExample(0);
            BookExample    bookExample2   = new BookExample(book1, 10, 73.5);
            Purchase       purchase2      = new Purchase(client1, bookExample1, DateTime.Now);

            dataRepository.UpdateEvent(0, purchase2);
            dataRepository.UpdateClient(0, client2);
            dataRepository.UpdateBookExample(0, bookExample2);
            if (dataRepository.GetAllBook().Contains(book1) && !dataRepository.GetAllBook().Contains(book2))
            {
                dataRepository.UpdateBook(book2);
                Assert.IsFalse(dataRepository.GetAllBook().ToList().Contains(book1));
                Assert.IsTrue(dataRepository.GetAllBook().ToList().Contains(book2));
                Assert.AreEqual(bookExample2.Book, book2);
            }
            else
            {
                Assert.Fail();
            }
        }
コード例 #2
0
        /// <summary>
        /// Находит автора и название книги
        /// </summary>
        /// <param name="book">Книга, для которой надо выполнить поиск</param>
        public static void FindNewName(BookExample book)
        {
            string author = "";
            string title  = "";

            ParseBook(book, ref author, ref title);
            IsGoodName(ref title, ref author);
            book.AddNewName(author, title);
        }
コード例 #3
0
ファイル: ModelTest.cs プロジェクト: pantczak/TP
 public void DataRepositoryBadBookExampleUpdateTest()
 {
     {
         DataRepository dataRepository = new DataRepository(new ConstFiller());
         BookExample    bookExample1   = dataRepository.GetBookExample(0);
         var            exc            = Assert.ThrowsException <Exception>(() => dataRepository.UpdateBookExample(dataRepository.GetAllBookExamples().Count(), bookExample1));
         Assert.AreEqual("No such book copy index", exc.Message);
     }
 }
コード例 #4
0
ファイル: ModelTest.cs プロジェクト: pantczak/TP
        public void DataRepositoryBadBookExampleIndexUpdateTest()
        {
            {
                DataRepository dataRepository = new DataRepository(new ConstFiller());

                BookExample bookExample1 = dataRepository.GetBookExample(0);
                var         exc          = Assert.ThrowsException <Exception>(() => dataRepository.UpdateBookExample(0, bookExample1));
                Assert.AreEqual("Data already exists", exc.Message);
            }
        }
コード例 #5
0
ファイル: ModelTest.cs プロジェクト: pantczak/TP
        public void BookExampleTest()
        {
            Guid        guid        = Guid.NewGuid();
            Guid        guid1       = Guid.NewGuid();
            Book        book        = new Book("Hobbit", "J. R. R. Tolkien", guid1);
            BookExample bookExample = new BookExample(book, 23, 69.99);

            Assert.AreEqual(book, bookExample.Book);
            Assert.AreEqual(23, bookExample.Tax);
            Assert.AreEqual(69.99, bookExample.BasePrice);
        }
コード例 #6
0
ファイル: LogicTest.cs プロジェクト: pantczak/TP
        public void RemoveBookExampleTest()
        {
            TestRepository testRepository = new TestRepository();
            DataService    dataService    = new DataService(testRepository);
            Book           book           = new Book("Pan Tadeusz1", "Adam M", Guid.Parse("52D2DA0E-22C1-4A0E-BF60-96859EB5A143"));
            BookExample    bookExample    = new BookExample(book, 23, 60);

            testRepository.AddBookExample(bookExample);
            dataService.RemoveBookExample(bookExample);
            Assert.AreEqual(0, testRepository.bookExamples.Count);
        }
コード例 #7
0
ファイル: ModelTest.cs プロジェクト: pantczak/TP
        public void DataRepositoryBadBookExampleDeleteTest()
        {
            DataRepository dataRepository = new DataRepository(new ConstFiller());
            Book           newBook        = new Book("Ksiazka niebedaca w bazie", "Anonim", Guid.NewGuid());
            BookExample    newBookExample = new BookExample(newBook, 10, 49.9);

            dataRepository.AddBook(newBook);

            var exc = Assert.ThrowsException <Exception>(() => dataRepository.DeleteBookExample(newBookExample));

            Assert.AreEqual("No such book copy", exc.Message);
        }
コード例 #8
0
ファイル: LogicTest.cs プロジェクト: pantczak/TP
        public void ModifyBookExampleTest()
        {
            TestRepository testRepository = new TestRepository();
            DataService    dataService    = new DataService(testRepository);
            Book           book           = new Book("Pan Tadeusz1", "Adam M", Guid.Parse("52D2DA0E-22C1-4A0E-BF60-96859EB5A143"));
            BookExample    bookExample    = new BookExample(book, 23, 60);
            BookExample    bookExampleOld = new BookExample(book, 20, 100);

            dataService.AddBookExample(book, 20, 100);
            dataService.ModifyBookExample(bookExampleOld, bookExample);
            Assert.AreEqual(bookExample, new List <BookExample>(dataService.GetBookExamplesByBook(book))[0]);
        }
コード例 #9
0
ファイル: ModelTest.cs プロジェクト: pantczak/TP
        public void DataRepositoryBadPurchaseDeleteTest()
        {
            DataRepository dataRepository = new DataRepository(new ConstFiller());
            Book           newBook        = new Book("Ksiazka niebedaca w bazie", "Anonim", Guid.NewGuid());
            BookExample    newBookExample = new BookExample(newBook, 10, 49.9);

            dataRepository.AddBook(newBook);
            Client newClient = new Client("Jan", "Kowalski", 39);

            var exc = Assert.ThrowsException <Exception>(() => dataRepository.DeleteEvent(new Purchase(newClient, newBookExample, DateTime.Now)));

            Assert.AreEqual("No such event", exc.Message);
        }
コード例 #10
0
ファイル: ModelTest.cs プロジェクト: pantczak/TP
        public void DataRepositoryAddDuplicateBookExampleTest()
        {
            Guid           guid           = Guid.NewGuid();
            Book           book           = new Book("Hobbit", "J. R. R. Tolkien", guid);
            BookExample    bookExample    = new BookExample(book, 23, 69.99);
            DataRepository dataRepository = new DataRepository(new ConstFiller());

            dataRepository.AddBook(book);
            dataRepository.AddBookExample(bookExample);
            var exc = Assert.ThrowsException <Exception>(() => dataRepository.AddBookExample(bookExample));

            Assert.AreEqual("Data already exists", exc.Message);
        }
コード例 #11
0
ファイル: ModelTest.cs プロジェクト: pantczak/TP
        public void PurchaceTest()
        {
            Guid        guid        = Guid.NewGuid();
            DateTime    dateTime    = DateTime.Now;
            Book        book        = new Book("Hobbit", "J. R. R. Tolkien", guid);
            BookExample bookExample = new BookExample(book, 23, 69.99);
            Client      client      = new Client("Adam", "Tomczak", 39);
            Purchase    purchace    = new Purchase(client, bookExample, dateTime);

            Assert.AreEqual(bookExample, purchace.BookExample);
            Assert.AreEqual(client, purchace.Client);
            Assert.AreEqual(dateTime, purchace.EventTime);
        }
コード例 #12
0
ファイル: LogicTest.cs プロジェクト: pantczak/TP
        public void GetEventsByBookExampleTest()
        {
            TestRepository testRepository = new TestRepository();
            DataService    dataService    = new DataService(testRepository);
            Book           book           = new Book("Pan Tadeusz", "Adam M", Guid.Parse("53D2DA0E-22C1-4A0E-BF60-96859EB5A143"));
            Book           book1          = new Book("Pan Tadeusz1", "Adam M", Guid.Parse("52D2DA0E-22C1-4A0E-BF60-96859EB5A143"));
            BookExample    bookExample    = new BookExample(book, 23, 60);

            dataService.PurchaceBook(new Client("Adam", "Malysz", 66), bookExample);
            dataService.PurchaceBook(new Client("Adam", "Malysz", 66), new BookExample(book1, 23, 60));
            dataService.PurchaceBook(new Client("Pan", "Malysz", 66), bookExample);
            Assert.AreEqual(2, new List <Event>(dataService.GetEventsByBookExample(bookExample)).Count);
        }
コード例 #13
0
ファイル: ModelTest.cs プロジェクト: pantczak/TP
        public void DataRepositoryAddBookExampleTest()
        {
            Guid           guid           = Guid.NewGuid();
            Book           book           = new Book("Hobbit", "J. R. R. Tolkien", guid);
            BookExample    bookExample    = new BookExample(book, 23, 69.99);
            DataRepository dataRepository = new DataRepository(new ConstFiller());

            int lastFilledBookExampleIndex = dataRepository.GetAllBookExamples().Count() - 1;

            dataRepository.AddBook(book);
            dataRepository.AddBookExample(bookExample);
            Assert.AreEqual(bookExample, dataRepository.GetBookExample(lastFilledBookExampleIndex + 1));
        }
コード例 #14
0
ファイル: DataService.cs プロジェクト: pantczak/TP
        public void ModifyBookExample(BookExample oldBookExample, BookExample newBookExample)
        {
            List <BookExample> books = GetAllBookExamples().ToList();

            for (int i = 0; i < books.Count(); i++)
            {
                if (books[i].Equals(oldBookExample))
                {
                    dataRepository.UpdateBookExample(i, newBookExample);
                    return;
                }
            }
            throw new Exception("No such book copy");
        }
コード例 #15
0
 /// <summary>
 /// Переименовывает книгу в каталоге
 /// Если новый путь такой же как старый - переименование не производится.
 /// </summary>
 /// <param name="book">Книга, которую надо переименовать</param>
 public static void RenameFiles(BookExample book)
 {
     if (book.IsChecked && book.BookFullName != book.NewBookFullName)
     {
         try
         {
             File.Move(book.BookFullName, book.NewBookFullName);
         }
         catch (Exception ex)
         {
             book.Exception = ex.Message;
         }
     }
 }
コード例 #16
0
ファイル: DataService.cs プロジェクト: pantczak/TP
        public IEnumerable <Event> GetEventsByBookExample(BookExample bookExample)
        {
            IEnumerable <Event> events      = dataRepository.GetAllEvent();
            List <Event>        foundEvents = new List <Event>();

            foreach (Event evnt in events)
            {
                if (evnt.BookExample == bookExample)
                {
                    foundEvents.Add(evnt);
                }
            }
            return(foundEvents);
        }
コード例 #17
0
ファイル: LogicTest.cs プロジェクト: pantczak/TP
        public void GetPurchasesInDateRangeTest()
        {
            TestRepository testRepository = new TestRepository();
            DataService    dataService    = new DataService(testRepository);
            Book           book           = new Book("Pan Tadeusz", "Adam M", Guid.Parse("53D2DA0E-22C1-4A0E-BF60-96859EB5A143"));
            Book           book1          = new Book("Pan Tadeusz1", "Adam M", Guid.Parse("52D2DA0E-22C1-4A0E-BF60-96859EB5A143"));
            BookExample    bookExample    = new BookExample(book, 23, 60);
            Client         client         = new Client("Adam", "Malysz", 66);

            dataService.PurchaceBook(client, bookExample);
            dataService.PurchaceBook(client, new BookExample(book1, 23, 60));
            dataService.PurchaceBook(new Client("Pan", "Malysz", 66), bookExample);
            Assert.AreEqual(3, new List <Event>(dataService.GetPurchasesInDateRange(DateTime.Parse("1/1/2019"), DateTime.Now)).Count);
            Assert.AreEqual(0, new List <Event>(dataService.GetPurchasesInDateRange(DateTime.Parse("1/1/2019"), DateTime.Parse("1/1/2019"))).Count);
        }
コード例 #18
0
ファイル: ModelTest.cs プロジェクト: pantczak/TP
        public void DataRepositoryAddEventWithBadBookExampleRefTest()
        {
            Book        newBook        = new Book("Ksiazka niebedaca w bazie", "Anonim", Guid.NewGuid());
            Client      client         = new Client("Adam", "Tomczak", 39);
            BookExample newBookExample = new BookExample(newBook, 10, 49.9);

            DataRepository dataRepository = new DataRepository(new ConstFiller());

            int lastFilledClientIndex = dataRepository.GetAllClient().Count() - 1;

            dataRepository.AddBook(newBook);
            dataRepository.AddClient(client);
            var exc = Assert.ThrowsException <Exception>(() => dataRepository.AddEvent(new Purchase(client, newBookExample, DateTime.Now)));

            Assert.AreEqual("No such BookExample in DataRepository", exc.Message);
        }
コード例 #19
0
ファイル: ModelTest.cs プロジェクト: pantczak/TP
        public void DataRepositoryAddEventWithBadClientTest()
        {
            Guid           guid           = Guid.NewGuid();
            Book           book           = new Book("Hobbit", "J. R. R. Tolkien", guid);
            BookExample    bookExample    = new BookExample(book, 23, 69.99);
            Client         client         = new Client("Adam", "Tomczak", 39);
            Purchase       purchace       = new Purchase(client, bookExample, DateTime.Now);
            DataRepository dataRepository = new DataRepository(new ConstFiller());

            dataRepository.AddBook(book);
            dataRepository.AddBookExample(bookExample);

            Client newClient = new Client("Jan", "Kowalski", 39);
            var    exc       = Assert.ThrowsException <Exception>(() => dataRepository.AddEvent(new Purchase(newClient, bookExample, DateTime.Now)));

            Assert.AreEqual("No such Client in DataRepository", exc.Message);
        }
コード例 #20
0
ファイル: ModelTest.cs プロジェクト: pantczak/TP
        public void DataRepositoryAddEventTest()
        {
            Guid           guid           = Guid.NewGuid();
            Book           book           = new Book("Hobbit", "J. R. R. Tolkien", guid);
            BookExample    bookExample    = new BookExample(book, 23, 69.99);
            Client         client         = new Client("Adam", "Tomczak", 39);
            Purchase       purchace       = new Purchase(client, bookExample, DateTime.Now);
            DataRepository dataRepository = new DataRepository(new ConstFiller());

            int lastFilledPurchaseIndex = dataRepository.GetAllEvent().Count() - 1;

            dataRepository.AddBook(book);
            dataRepository.AddBookExample(bookExample);
            dataRepository.AddClient(client);
            dataRepository.AddEvent(purchace);
            Assert.AreEqual(purchace, dataRepository.GetEvent(lastFilledPurchaseIndex + 1));
        }
コード例 #21
0
ファイル: ModelTest.cs プロジェクト: pantczak/TP
        public void DataRepositoryAddDuplicateEventTest()
        {
            Guid           guid           = Guid.NewGuid();
            Book           book           = new Book("Hobbit", "J. R. R. Tolkien", guid);
            BookExample    bookExample    = new BookExample(book, 23, 69.99);
            Client         client         = new Client("Adam", "Tomczak", 39);
            Purchase       purchace       = new Purchase(client, bookExample, DateTime.Now);
            DataRepository dataRepository = new DataRepository(new ConstFiller());

            dataRepository.AddBook(book);
            dataRepository.AddBookExample(bookExample);
            dataRepository.AddClient(client);
            dataRepository.AddEvent(purchace);
            var exc = Assert.ThrowsException <Exception>(() => dataRepository.AddEvent(purchace));

            Assert.AreEqual("Data already exists", exc.Message);
        }
コード例 #22
0
ファイル: ModelTest.cs プロジェクト: pantczak/TP
        public void DataRepositoryBookExampleDeleteTest()
        {
            DataRepository dataRepository = new DataRepository(new ConstFiller());
            Book           newBook        = new Book("Ksiazka niebedaca w bazie", "Anonim", Guid.NewGuid());
            BookExample    newBookExample = new BookExample(newBook, 10, 49.9);

            dataRepository.AddBook(newBook);
            dataRepository.AddBookExample(newBookExample);

            if (dataRepository.GetAllBookExamples().Contains(newBookExample))
            {
                dataRepository.DeleteBookExample(newBookExample);
                Assert.IsFalse(dataRepository.GetAllBookExamples().Contains(newBookExample));
            }
            else
            {
                Assert.Fail();
            }
        }
コード例 #23
0
ファイル: ModelTest.cs プロジェクト: pantczak/TP
        public void DataRepositoryPurchaseUpdateTest()
        {
            DataRepository dataRepository = new DataRepository(new ConstFiller());
            BookExample    bookExample1   = dataRepository.GetBookExample(0);
            Client         client1        = dataRepository.GetClient(0);
            Purchase       purchase1      = (Purchase)dataRepository.GetEvent(0);
            Purchase       purchase2      = new Purchase(client1, bookExample1, DateTime.Now);

            //Correct Update tests
            if (dataRepository.GetAllEvent().Contains(purchase1) && !dataRepository.GetAllEvent().Contains(purchase2))
            {
                dataRepository.UpdateEvent(0, purchase2);
                Assert.IsFalse(dataRepository.GetAllEvent().Contains(purchase1));
                Assert.IsTrue(dataRepository.GetAllEvent().Contains(purchase2));
            }
            else
            {
                Assert.Fail();
            }
        }
コード例 #24
0
ファイル: Library.cs プロジェクト: nk2801/BooksRenamer
        /// <summary>
        /// Поиск книг в выбранном каталоге
        /// Книги создаются здесь, чтобы выполнить подписку на событие изменения Checked книги, проверять ее далее или нет
        /// </summary>
        public async void FindBooks(CancellationToken token)
        {
            BeforeStart();
            library.Clear();
            await Task.Run(() =>
            {
                foreach (var book in FindBookFiles.FindBookFilesInDirectory(Directory, AllFolders))
                {
                    if (token.IsCancellationRequested)
                    {
                        return;
                    }
                    BookExample be      = BookExample.CreateBook(book);
                    be.PropertyChanged += IsChecked;
                    Books.Add(be);
                }
            });

            CountChecked = CountAll = Books.Count;
            ChangeState  = State.FindTitle;
        }
コード例 #25
0
ファイル: ModelTest.cs プロジェクト: pantczak/TP
        public void DataRepositoryPurchaseDeleteTest()
        {
            DataRepository dataRepository = new DataRepository(new ConstFiller());
            Book           newBook        = new Book("Ksiazka niebedaca w bazie", "Anonim", Guid.NewGuid());
            BookExample    newBookExample = new BookExample(newBook, 10, 49.9);
            Client         newClient      = new Client("Jan", "Kowalski", 39);
            Purchase       purchase       = new Purchase(newClient, newBookExample, DateTime.Now);

            dataRepository.AddBook(newBook);
            dataRepository.AddBookExample(newBookExample);
            dataRepository.AddClient(newClient);
            dataRepository.AddEvent(purchase);
            if (dataRepository.GetAllEvent().Contains(purchase))
            {
                dataRepository.DeleteEvent(purchase);
                Assert.IsFalse(dataRepository.GetAllEvent().Contains(purchase));
            }
            else
            {
                Assert.Fail();
            }
        }
コード例 #26
0
ファイル: ModelTest.cs プロジェクト: pantczak/TP
        public void DataRepositoryClientForPurchaseUpdateTest()
        {
            DataRepository dataRepository = new DataRepository(new ConstFiller());
            Client         client1        = dataRepository.GetClient(0);
            Client         client2        = new Client("John", "Watson", 39);
            Purchase       purchase1      = (Purchase)dataRepository.GetEvent(0);
            BookExample    bookExample1   = dataRepository.GetBookExample(0);
            Purchase       purchase2      = new Purchase(client1, bookExample1, DateTime.Now);

            dataRepository.UpdateEvent(0, purchase2);

            if (dataRepository.GetAllClient().Contains(client1) && !dataRepository.GetAllClient().Contains(client2))
            {
                dataRepository.UpdateClient(0, client2);
                Assert.IsFalse(dataRepository.GetAllClient().ToList().Contains(client1));
                Assert.IsTrue(dataRepository.GetAllClient().ToList().Contains(client2));
                Assert.AreEqual(purchase2.Client, client2);
            }
            else
            {
                Assert.Fail();
            }
        }
コード例 #27
0
ファイル: DataService.cs プロジェクト: pantczak/TP
 public void ReturnBook(Client client, BookExample bookExample, Event evnt)
 {
     dataRepository.AddEvent(new Return(DateTime.Now, client, bookExample, evnt.EventTime));
 }
コード例 #28
0
ファイル: LogicTest.cs プロジェクト: pantczak/TP
 public void UpdateBookExample(int Id, BookExample bookExample)
 {
     bookExamples.Remove(GetBookExample(Id));
     bookExamples.Insert(Id, bookExample);
 }
コード例 #29
0
ファイル: LogicTest.cs プロジェクト: pantczak/TP
 public void AddBookExample(BookExample bookExample)
 {
     bookExamples.Add(bookExample);
 }
コード例 #30
0
ファイル: LogicTest.cs プロジェクト: pantczak/TP
 public void DeleteBookExample(BookExample bookExample)
 {
     bookExamples.Remove(bookExample);
 }