예제 #1
0
        public void GetBooksTest_ShouldReturnBooks()
        {
            //Arrange
            JsonBookRepository jsonBookRepository = new JsonBookRepository();
            Book book = new Book();

            jsonBookRepository.Add(book);

            //Act
            var books = jsonBookRepository.GetBooks();

            //Assert
            Assert.IsNotNull(books);
            Assert.AreEqual(1, books.Count);
        }
예제 #2
0
        static void Main(string[] args)
        {
            var bookRepository = new JsonBookRepository(fileName);
            var bookService    = new BookListService(bookRepository);

            Console.WriteLine("Исходный список книг:");

            PrintListBooks(bookService.GetBooks());

            var book = new Book("Льюис Кэрролл", "Алиса в Стране чудес", 237, 1865, "Сказка");

            Console.WriteLine("Пытаемся добавить книгу");
            PrintBook(book);
            try
            {
                bookService.AddBook(book);
                Console.WriteLine("Книга успешно добавлена");
            }
            catch (Exception e)
            {
                Console.WriteLine("Ошибка: {0}\n", e.Message);
            }

            Console.WriteLine("Пытаемся удалить книгу");
            try
            {
                bookService.RemoveBook(book);
                Console.WriteLine("Книга успешно удалена");
            }
            catch (Exception e)
            {
                Console.WriteLine("Ошибка: {0}\n", e.Message);
            }
            Console.WriteLine();

            Console.WriteLine("Сохраняем список в файл и читаем из него");
            bookService.SaveBooks();
            PrintListBooks(bookRepository.GetBooks().ToList());

            Console.WriteLine("Снова пытаемся удалить книгу");
            try
            {
                bookService.RemoveBook(book);
                Console.WriteLine("Книга успешно удалена");
            }
            catch (Exception e)
            {
                Console.WriteLine("Ошибка: {0}\n", e.Message);
            }

            Console.WriteLine("Пытаемся найти удаленную книгу по названию \"Алиса в Стране чудес\"");
            Book seaarchResult = bookService.FindBook(b => b.Title == "Алиса в Стране чудес");

            if (seaarchResult == null)
            {
                Console.WriteLine("Книга не найдена");
            }
            else
            {
                Console.WriteLine("Книга найдена");
                PrintBook(seaarchResult);
            }
            Console.WriteLine();

            Console.WriteLine("Добавляем удаленную книгу и свнова пытаеся ее найти");
            bookService.AddBook(book);
            seaarchResult = bookService.FindBook(b => b.Title == "Алиса в Стране чудес");
            if (seaarchResult == null)
            {
                Console.WriteLine("Книга не найдена");
            }
            else
            {
                Console.WriteLine("Книга найдена\n");
                PrintBook(seaarchResult);
            }
            bookService.SaveBooks();
            Console.WriteLine();
            Console.WriteLine("Полученный список");
            PrintListBooks(bookRepository.GetBooks().ToList());

            Console.WriteLine("Сортировка книг по автору");
            bookService.SortBooks((a, b) => string.Compare(a.Author, b.Author));
            bookService.SaveBooks();
            PrintListBooks(bookRepository.GetBooks().ToList());

            Console.WriteLine("Сортировка книг по названию");
            bookService.SortBooks((a, b) => string.Compare(a.Title, b.Title));
            bookService.SaveBooks();
            PrintListBooks(bookRepository.GetBooks().ToList());
            MakeTestFile(fileName);
            Console.ReadKey();
        }