Пример #1
0
        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);
        }
Пример #2
0
        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);
        }
Пример #3
0
 public void Sort_Empty()
 {
     var sorter = new BookSorter();
     var sets = sorter.Sort(new int[0]);
     Assert.AreEqual(0, sets.Count());
 }
Пример #4
0
 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());
 }
Пример #5
0
 public void Sort_2SameBooks()
 {
     var sorter = new BookSorter();
     var sets = sorter.Sort(new[] { 1, 1 });
     Assert.AreEqual(2, sets.Count());
 }
Пример #6
0
 public void Sort_1Book()
 {
     var sorter = new BookSorter();
     var sets = sorter.Sort(new [] { 1 });
     Assert.AreEqual(1, sets.Count());
 }