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(); } }
/// <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); }
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); } }
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); } }
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); }
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); }
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); }
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]); }
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); }
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); }
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); }
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); }
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)); }
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"); }
/// <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; } } }
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); }
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); }
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); }
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); }
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)); }
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); }
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(); } }
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(); } }
/// <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; }
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(); } }
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(); } }
public void ReturnBook(Client client, BookExample bookExample, Event evnt) { dataRepository.AddEvent(new Return(DateTime.Now, client, bookExample, evnt.EventTime)); }
public void UpdateBookExample(int Id, BookExample bookExample) { bookExamples.Remove(GetBookExample(Id)); bookExamples.Insert(Id, bookExample); }
public void AddBookExample(BookExample bookExample) { bookExamples.Add(bookExample); }
public void DeleteBookExample(BookExample bookExample) { bookExamples.Remove(bookExample); }