static void TaskOne() { // Задача 1 Делегаты и методы /* * 1. Объявить делегат для работы с выборками. * 2. Создать метод, в классе каталог, позволяющий делать выборки из каталога. * 3. Создать класс BookSorter и объявить в нём методы необходимые для * выполнения задач по сортировке книг * 3. Вывести в консоль книги написанные до 85ого года. Передав статический метод и BookSorter-a * 4. Вывести книги написаны в названии которых есть слово "мир" */ var catalog = new Catalog(); catalog._books = new List <Book>() { new Book("War and Peace", 1869), new Book("Pride and Prejudice", 1813), new Book("Pro C# 7. With .NET and .NET Core", 2017) }; Console.WriteLine("Books with \"Peace\" in title:"); BookSorter.PrintSortedBooks(catalog, BookSorter.IfBookHasSubstringInTitle, "Peace"); Console.WriteLine("Books written before 1985:"); BookSorter.PrintSortedBooks(catalog, BookSorter.WasBookWrittenBeforeSomeYear, 1985); }
static void TaskOne() { // TODO Задача 1 Делегаты и методы /* * 1. Объявить делегат для работы с выборками. * 2. Создать метод, в классе каталог, позволяющий делать выборки из каталога. * 3. Создать класс BookSorter и объявить в нём методы необходимые для * выполнения задач по сортировке книг * 3. Вывести в консоль книги написанные до 85ого года. Передав статический метод и BookSorter-a * 4. Вывести книги написаны в названии которых есть слово "мир" */ var catalog = new Catalog(); catalog.Books = new List <Book>() { { new Book("End of Eternity", "Isaak Asimov", new DateTime(1955, 1, 1)) }, { new Book("Time and Time Again", "Ben Elton", new DateTime(2014, 1, 1)) }, { new Book("The Lost World", "Sir Arthur Conan Doyle", new DateTime(1912, 1, 1)) }, { new Book("Definitely Maybe", "Arkady and Boris Strugatsky", new DateTime(1977, 1, 1)) }, { new Book("Black Swan Green", "David Mitchell", new DateTime(2006, 1, 1)) }, { new Book("Catch-22", "Joseph Heller", new DateTime(1961, 1, 1)) }, { new Book("The Perks of Being a Wallflower", "Stephen Chbosky", new DateTime(1999, 1, 1)) }, { new Book("The Martian", "Andy Weir", new DateTime(2011, 1, 1)) }, { new Book("Dandelion Wine", "Ray Bradbury", new DateTime(1957, 1, 1)) }, { new Book("Brave New World", "Aldous Huxley", new DateTime(1932, 1, 1)) }, { new Book("To Kill a Mockingbird", "Harper Lee", new DateTime(1960, 1, 1)) } }; var sorter = new BookSorter(); SortWordMethod wordMethod = new SortWordMethod(sorter.BookWithWorld); var list1 = wordMethod.Invoke(catalog.Books, "world"); PrintStringBook(list1); Console.WriteLine("\n\n\n"); SortYearMethod yearMethod = new SortYearMethod(sorter.BookPublishedBefore); yearMethod = sorter.BookPublishedBefore; var list2 = yearMethod.Invoke(catalog.Books, 1985); PrintDateBook(list2); }
public void Sort_Empty() { var sorter = new BookSorter(); var sets = sorter.Sort(new int[0]); Assert.AreEqual(0, sets.Count()); }
public void Sort_8Books() { var sorter = new BookSorter(); var sets = sorter.Sort(new[] { 1, 2, 3, 4, 5, 1, 2, 3 }); Assert.AreEqual(2, sets.Count()); }
public void Sort_2SameBooks() { var sorter = new BookSorter(); var sets = sorter.Sort(new[] { 1, 1 }); Assert.AreEqual(2, sets.Count()); }
public void Sort_1Book() { var sorter = new BookSorter(); var sets = sorter.Sort(new [] { 1 }); Assert.AreEqual(1, sets.Count()); }