Ejemplo n.º 1
0
        public void ConsoleBinaryRecursionTest()
        {
            ConsoleTool.WriteLineConsoleGreenMessage("Проверяем сериализацию и десериализацию при возможной рекурсии (вроде бы ничего не отвалилось): ");
            var user1       = new User(1, "login1");
            var userDetail1 = new UserDetail(8, "Степанов");

            user1.UserDetail   = userDetail1;
            userDetail1.ToUser = user1;

            BinaryFormatter formatter = new BinaryFormatter();

            User deserilizeUser;

            using (var stream = new MemoryStream())
            {
                formatter.Serialize(stream, user1);

                var base64 = Convert.ToBase64String(stream.ToArray());
                Console.WriteLine("Сериализованные данные:\n{0}", base64);
                stream.Position = 0;

                deserilizeUser = (User)formatter.Deserialize(stream);
            }

            Console.WriteLine();
            Console.WriteLine("Десериализованные данные:");

            Console.WriteLine(deserilizeUser.ToString() + " " + deserilizeUser.UserDetail.ToString());
        }
Ejemplo n.º 2
0
        public void ConsoleBinaryTest()
        {
            ConsoleTool.WriteLineConsoleGreenMessage("Проверяем сериализацию и десериализацию: ");
            BinaryFormatter formatter = new BinaryFormatter();

            List <User> deserilizeUsers;

            using (var stream = new MemoryStream())
            {
                formatter.Serialize(stream, users);

                var base64 = Convert.ToBase64String(stream.ToArray());
                Console.WriteLine("Сериализованные данные:\n{0}", base64);
                stream.Position = 0;

                deserilizeUsers = (List <User>)formatter.Deserialize(stream);
            }

            Console.WriteLine();
            Console.WriteLine("Десериализованные данные:");

            foreach (var u in deserilizeUsers)
            {
                Console.WriteLine(u.ToString() + " " + u.UserDetail.ToString());
            }
        }
Ejemplo n.º 3
0
        public void ConsoleTestComparer()
        {
            ConsoleTool.WriteLineConsoleGreenMessage("Тетируем сориторвку через IComparable с использование реверса (по объему): ");

            List <Polygon> polygones = new List <Polygon>
            {
                new Polygon("Прямоугольник 1", 7),
                new Polygon("Прямоугольник 2", 12),
                new Polygon("Прямоугольник 3", 58),
                new Polygon("Прямоугольник 4", 11),
                new Polygon("Прямоугольник 5", 47),
                new Polygon("Прямоугольник 6", 36),
                new Polygon("Прямоугольник 7", 47),
                new Polygon("Прямоугольник 8", 25),
                new Polygon("Прямоугольник 9", 4),
                new Polygon("Прямоугольник 10", 5)
            };

            polygones.Sort();
            polygones.Reverse();

            foreach (var polygon in polygones)
            {
                Console.WriteLine(polygon.ToString());
            }

            ConsoleTool.WriteLineConsoleGreenMessage("Тетируем сориторвку через IComparator (по длине имени): ");
            polygones.Sort(new PolygonComparer());

            foreach (var polygon in polygones)
            {
                Console.WriteLine(polygon.ToString());
            }
        }
Ejemplo n.º 4
0
        public TaskPage51()
        {
            ConsoleTool.WriteLineConsoleGreenMessage("Создадим экземпляр объекта Triangle по строковому наименованию и вызовем метод с параметром: ");

            Triangle triangle = new Triangle("Прямоугольный");
            Type     myType   = triangle.GetType();

            string typeName = myType.FullName;

            Type myTypeFromString = Type.GetType(typeName, false, true);


            var constructors = myTypeFromString.GetConstructors().Where(x => x.GetParameters().Length > 0).ToList();

            foreach (var constructor in constructors)
            {
                Triangle obj     = (Triangle)constructor.Invoke(new object[] { "Равнобедренный" });
                var      methods = myTypeFromString.GetMethods().Where(x => x.IsPublic && x.GetParameters().Length == 1 && !x.IsVirtual).ToList();
                foreach (var method in methods)
                {
                    if (method.Name == "TestMethodWithParamm")
                    {
                        method.Invoke(obj, new object[] { "Это : " });
                    }
                }

                ConsoleTool.WriteLineConsoleGreenMessage("Получим доступ к приватному свойству. Зададим его и потом отправим в консоль: ");
                var privateInt = obj.GetType().GetProperty("privateString", BindingFlags.Instance | BindingFlags.NonPublic);
                privateInt.SetValue(obj, "5");
                string value = (string)privateInt.GetValue(obj);
                Console.WriteLine(value);
            }
        }
Ejemplo n.º 5
0
        public void ConsoleTestNumberAnalyzer()
        {
            NumberAnalyzer numberAnalyzer = new NumberAnalyzer(100, 4);

            numberAnalyzer.EventTooHightDifference +=
                () => Console.WriteLine("Число отличается на недопустимую велчину.");

            Random random = new Random();

            ConsoleTool.WriteLineConsoleGreenMessage("Исходные данные 100 и от него допуск 4% вперед и назад. Проверим числа в диапазоне от 0 до 199. Тут точно будут недопустимые величины.");
            for (int i = 0; i < 5; i++)
            {
                int testNumber = random.Next(0, 200);
                Console.WriteLine($"Проверка числа: {testNumber}");
                numberAnalyzer.DifferenceChecker(testNumber);
            }

            ConsoleTool.WriteLineConsoleGreenMessage("А теперь скормим заведомо подходящие числа от 97 до 103");
            for (int i = 0; i < 5; i++)
            {
                int testNumber = random.Next(97, 104);
                Console.WriteLine($"Проверка числа: {testNumber}");
                numberAnalyzer.DifferenceChecker(testNumber);
            }
        }
Ejemplo n.º 6
0
        public void ConsoleTestStackWithNotify()
        {
            ConsoleTool.WriteLineConsoleGreenMessage("Тестируем стек с оповещением.");
            CustomStack <string> customStack = new CustomStack <string>(2);

            customStack.EventAddedNewItem  += OnItemAdded;
            customStack.EventLimitExceeded += OnLimitExceeded;
            customStack.EventStackIsEmpty  += OnStackIsEmpty;

            customStack.AddItem("1");
            customStack.AddItem("2");
            customStack.AddItem("3");
            customStack.AddItem("4");

            ConsoleTool.WriteLineConsoleGreenMessage("В безконечном цикле извлекаем все элементы в порядке очереди, до исключения. Бесконечный цикл потому, что нужно исключение.");
            while (true)
            {
                try
                {
                    Console.WriteLine($"Извлечен item: {customStack.GetNext()}");
                }
                catch (Exception ex)
                {
                    Console.WriteLine(ex.Message);
                    return;
                }
            }
        }
Ejemplo n.º 7
0
        public TaskPage49()
        {
            ConsoleTool.WriteLineConsoleGreenMessage("Тестирование метода расширения для int, который преобразует целое число в TimeSpan: ");
            int number = 61;

            Console.WriteLine(number + " : " + number.Seconds());
        }
Ejemplo n.º 8
0
        public TaskPage7()
        {
            Car car = new Car("Обычный автомобиль", 120, 4, "Бензин", 90);
            CarWithElectronic carWithElectronic = new CarWithElectronic("Авто напичканное электроникой", 150, 2, "Дизель", 70);
            Bicycle           bicycle           = new Bicycle("Велосипед", 40, 2);

            ConsoleTool.WriteLineConsoleGreenMessage("Ниже представлены экземпляры объектов разных типов, но все они объединены одним базовым типом Transport через наследование.");
            ConsoleTool.WriteLineConsoleGreenMessage("Car и Bicycle унаследованы от Transport. CarWithElectronic унаследован от Car.");
            ConsoleTool.WriteLineConsoleGreenMessage("Вывожу о них данные я через foreach. И тут мне помогает полиморфизм, потому что я добавил все эти три экземпляра разных объектов в одну коллекцию под их общим типом.");

            transports = new List <Transport>()
            {
                car, carWithElectronic, bicycle
            };
            Console.WriteLine();
            foreach (Transport transport in transports)
            {
                Console.WriteLine(transport.ToString());
            }

            ConsoleTool.WriteLineConsoleGreenMessage("В качестве примера инкапсуляции можно рассмотреть метод StartEngine объекта CarWithElectronic, который сначало проверяет работают ли все системы должным образом, а только потом запускает базовый метод запуска мотора от класса Car.");
            ConsoleTool.WriteLineConsoleGreenMessage("Метод класса Car StartEngine сначало проверит, есть ли в баке авто топливо для запуска. Есть есть - мотор будет запущен. Если нет, выводится текст исключения. Это также пример инкапсуляции.");

            try
            {
                carWithElectronic.StartEngine();
            }
            catch (TransportException ex)
            {
                Console.WriteLine(ex.Message);
            }
            try
            {
                carWithElectronic.ForcedStartEngine();
            }
            catch (TransportException ex)
            {
                Console.WriteLine(ex.Message);
            }

            ConsoleTool.WriteLineConsoleGreenMessage("Давайте заправим этого зверя. Могли бы это сделать через метод. Но тут я хочу продемонстрировать инкапсуляцию на примере свойства. Перед присвоением здесь мы сначало сравним новое значение с максимальным, чтобы не переполнить топливный бак. И выставим то, что будет больше. Дальше попробуем снова запустить мотор.");

            try
            {
                carWithElectronic.AvailFuel = 100;
            }
            catch (TransportException ex)
            {
                Console.WriteLine(ex.Message);
            }
            try
            {
                carWithElectronic.ForcedStartEngine();
            }
            catch (TransportException ex)
            {
                Console.WriteLine(ex.Message);
            }
        }
Ejemplo n.º 9
0
        public void ConsoleFindPersonWorkPlaceByPersonData()
        {
            ConsoleTool.WriteLineConsoleGreenMessage("Пробуем найти объект, который точно есть в словаре: ");
            Console.WriteLine(FindPersonWorkPlaceByPersonData("Федоров", "Алексей", "Алексеевич", "11авы321dsdsad", "Москва"));

            ConsoleTool.WriteLineConsoleGreenMessage("Пробуем найти объект, которого нет в словаре: ");
            Console.WriteLine(FindPersonWorkPlaceByPersonData("Федоров1", "Алексей", "Алексеевич", "11авы321dsdsad", "Москва"));
        }
Ejemplo n.º 10
0
 public void ConsoleFoodBasketItems()
 {
     ConsoleTool.WriteLineConsoleGreenMessage("Я сделал перечисления для каждого из классов на основе List. Собрал их всех в один список в классе FoodBasket. И через енумератор класса FoodBasket вывожу ниже: ");
     foreach (Food food in foodBasket)
     {
         Console.WriteLine(food.Name);
     }
 }
Ejemplo n.º 11
0
 public void ConsoleCarParkElementWithEnumerator()
 {
     ConsoleTool.WriteLineConsoleGreenMessage("Вывод авто из автопарка с использованием Enumerator: ");
     foreach (Car car in carPark)
     {
         Console.WriteLine(car.ToString());
     }
 }
Ejemplo n.º 12
0
 public void ConsoleAllGeometricFiguresUsingForeach()
 {
     ConsoleTool.WriteLineConsoleGreenMessage("Выведем все фигуры с использованием foreach: ");
     foreach (var geometricFigure in geometricFigures)
     {
         Console.WriteLine(geometricFigure.Name);
     }
 }
Ejemplo n.º 13
0
 private void GenerateRandomTables(int count)
 {
     ConsoleTool.WriteLineConsoleGreenMessage("Вывод сгенерированных случайным образом экземпляров объекта Table:");
     tables = new List <Table>();
     for (int i = 0; i < 100; i++)
     {
         tables.Add(new Table(GetRandomMaterial().ToString(), GetRandomNumberOfLegs(), GetRandomDate(), GetRandomSold()));
         Console.WriteLine(tables[i].ToString());
     }
 }
Ejemplo n.º 14
0
        public void ConsoleGroupedTablesByMaterial()
        {
            ConsoleTool.WriteLineConsoleGreenMessage("Группировка столов по использованному материалу:");
            var materials = GroupTablesByMaterial();

            foreach (var material in materials)
            {
                Console.WriteLine($"{material.Material} : {material.Count}");
            }
        }
Ejemplo n.º 15
0
        public void ConsoleTablesOrderByCreatedDateDesc()
        {
            ConsoleTool.WriteLineConsoleGreenMessage("Cтолы, отсортированные по дате создания, начиная с последнего:");
            var tables = GetTablesOrderByCreatedDateDesc();

            foreach (var table in tables)
            {
                Console.WriteLine(table.ToString());
            }
        }
Ejemplo n.º 16
0
        public void ConsoleSoldTables()
        {
            ConsoleTool.WriteLineConsoleGreenMessage("Проданные столы:");
            var soldTables = GetSoldTables();

            foreach (var table in soldTables)
            {
                Console.WriteLine(table.ToString());
            }
        }
Ejemplo n.º 17
0
        public void ConsoleAllEllipsesUsingWhile()
        {
            ConsoleTool.WriteLineConsoleGreenMessage("Выведем все элипсы с использованием While и реализованного IEnumerator: ");
            IEnumerator iEnumerator = elipses.GetEnumerator();

            while (iEnumerator.MoveNext())
            {
                Elipse elipseItem = iEnumerator.Current as Elipse;
                Console.WriteLine(elipseItem.Name);
            }
        }
Ejemplo n.º 18
0
        public void ConsoleTestStringComparer()
        {
            ConsoleTool.WriteLineConsoleGreenMessage("Тестируем работу оператора == для строки.");

            string a = "Строка 1";
            string b = "Строка 1";

            Console.WriteLine($"{a} == {b}");

            Console.WriteLine((a == b).ToString());
        }
Ejemplo n.º 19
0
        public TaskPage18()
        {
            ConsoleTool.WriteLineConsoleGreenMessage("Задача про явное/неявное преобразование. Собсвтенно реализация в классе Person. Демонстрация ниже. Создаем из строки класс - сделал в явном виде. Выводим в консоль через неявное преобразование. ");
            Person person = (Person)"Иванов Иван";

            Console.WriteLine(person);
            ConsoleTool.WriteLineConsoleGreenMessage("Делаем сравнение через оператор ==");
            Console.WriteLine((person == "Иванов Иван").ToString());
            ConsoleTool.WriteLineConsoleGreenMessage("Делаем сравнение через оператор Equals. По дефолту Equals при сравнении ссылочных типов (а строка это ссылочный тип) будет проверять именно ссылки. Т.к. в этом случаи ссылки ссылаются на разные области в куче, то ответ будет отрицательным.");
            Console.WriteLine((person.Equals("Иванов Иван")).ToString());
        }
Ejemplo n.º 20
0
        public void ConsoleTestINotifyPropertyChanged()
        {
            ConsoleTool.WriteLineConsoleGreenMessage("Демонстрация работы INotifyPropertyChanged. Создаем объект, реализующий этот интерфейс. Подписываемся на событие PropertyChanged. При изменении property выводим его название.");
            Person p = new Person()
            {
                FirstName = "Иван", LastName = "Иванов", PaterName = "Иванович", BirthPlace = "Москва", Passport = "44534233423dsd3"
            };

            p.PropertyChanged += OnModelPropertyChanged;
            p.FirstName        = "Дмитрий";
            p.BirthPlace       = "Вашингтон";
        }
Ejemplo n.º 21
0
        public void ConsoleAnalyzingLegsCount()
        {
            ConsoleTool.WriteLineConsoleGreenMessage("Анализ количества ножек у столов:");

            int minLegsCount = GetMinLegsCount();
            int maxLegsCount = GetMaxLegsCount();
            int sumLegsCount = GetSumLegsCount();


            Console.WriteLine($"Минимальное количество ножек у стола: {minLegsCount}");
            Console.WriteLine($"Максимальное количество ножек у стола: {maxLegsCount}");
            Console.WriteLine($"Общее количество ножек у всех столов вместе: {sumLegsCount}");
        }
Ejemplo n.º 22
0
        public void ConsoleRemoveRepeatableSpaces()
        {
            ConsoleTool.WriteLineConsoleGreenMessage("Удалим лишние пробелы из строки: ");

            string someText = "  ea1359 29105    c4f29   a0f51           17d2  960 926f";

            ConsoleTool.WriteLineConsoleGreenMessage(someText);

            Regex regex  = new Regex(@"\s{1,}");
            var   result = regex.Replace(someText, " ");

            Console.WriteLine(result);
        }
Ejemplo n.º 23
0
        public void ConsoleGetParamsFromURL()
        {
            ConsoleTool.WriteLineConsoleGreenMessage("Выделим параметры из строки запроса:");

            string someText = "http://ya.ru/api?r=1&x=23";

            Regex regex  = new Regex(@"=\d{1,}");
            var   result = regex.Matches(someText);

            foreach (Match match in result)
            {
                Console.WriteLine(match.Value.Replace("=", ""));
            }
        }
Ejemplo n.º 24
0
        public void ConsoleGetNumbersFromText()
        {
            ConsoleTool.WriteLineConsoleGreenMessage("Выделим числа их текста:");

            string someText = "1, 1000, 1 000 000, 100.23";

            Regex regex  = new Regex(@",");
            var   result = regex.Split(someText);

            for (int i = 0; i < result.Length; i++)
            {
                Console.WriteLine(result[i].Replace(" ", ""));
            }
        }
Ejemplo n.º 25
0
        public TaskPage36()
        {
            ConsoleTool.WriteLineConsoleGreenMessage("Пробуем добавлять в нашу уникальную коллекцию не совсем уникальные элементы (string). Ждем исключение: ");
            uniqueStringCollection = new UniqueCollection <string>();
            try
            {
                uniqueStringCollection.AddItem("тест");
                uniqueStringCollection.AddItem("тест2");
                uniqueStringCollection.AddItem("тест");
            }
            catch (ItemIsAlreadyExistsException e)
            {
                Console.WriteLine(e.Message);
            }

            ConsoleTool.WriteLineConsoleGreenMessage("Пробуем добавлять в нашу уникальную коллекцию не совсем уникальные элементы (int). Ждем исключение: ");
            uniqueIntCollection = new UniqueCollection <int>();
            try
            {
                uniqueIntCollection.AddItem(5);
                uniqueIntCollection.AddItem(3);
                uniqueIntCollection.AddItem(5);
            }
            catch (ItemIsAlreadyExistsException e)
            {
                Console.WriteLine(e.Message);
            }

            ConsoleTool.WriteLineConsoleGreenMessage("Пробуем добавлять в нашу уникальную коллекцию не совсем уникальные элементы (Person). Ждем исключение: ");
            uniquePersonCollection = new UniqueCollection <Person>();
            try
            {
                uniquePersonCollection.AddItem(new Person()
                {
                    FirstName = "Иван", LastName = "Иванов", PaterName = "Иванович", BirthPlace = "Москва", Passport = "44534233423dsd3"
                });
                uniquePersonCollection.AddItem(new Person()
                {
                    FirstName = "Степанов", LastName = "Игорь", PaterName = "Сергеевич", BirthPlace = "Брянск", Passport = "4453422334231sd3"
                });
                uniquePersonCollection.AddItem(new Person()
                {
                    FirstName = "Иван", LastName = "Иванов", PaterName = "Иванович", BirthPlace = "Москва", Passport = "44534233423dsd3"
                });
            }
            catch (ItemIsAlreadyExistsException e)
            {
                Console.WriteLine(e.Message);
            }
        }
Ejemplo n.º 26
0
        public void ConsoleCheckForCorrectNumber()
        {
            ConsoleTool.WriteLineConsoleGreenMessage("Проверить на корректность введенные номера телефонов: ");
            List <string> numbers = new List <string>
            {
                "+373 77767852",
                "77767852",
                "0 (777) 67852",
            };
            Regex regex = new Regex(@"^0?(\+\d{3})?\s?\(?\d{3}\)?\s?\d{5}$");

            foreach (var number in numbers)
            {
                Console.WriteLine($"{number} результат проверки: {regex.IsMatch(number)}");
            }
        }
Ejemplo n.º 27
0
        public void ConsoleParallelAverageDecimal10Mb()
        {
            ConsoleTool.WriteLineConsoleGreenMessage("Производим параллельный расчет среднего арифметического для значений decimal массива размером в 10 мегабайт:");

            Stopwatch stopwatch = new Stopwatch();

            stopwatch.Start();

            decimal summ = generalArray10mb.AsParallel().Sum(arg => arg);

            decimal average = summ / generalArray10mb.Length;

            stopwatch.Stop();

            Console.WriteLine($"summ: {summ}");
            Console.WriteLine($"Среднее значение: {average}, найдено за {stopwatch.Elapsed}");
        }
Ejemplo n.º 28
0
        public TaskPage63_2_Alter()
        {
            procCount = Environment.ProcessorCount;

            customParralelStack = new CustomParralelStack();

            while (true)
            {
                ConsoleTool.WriteLineConsoleGreenMessage("1 - состояние очереди задач.");
                ConsoleTool.WriteLineConsoleGreenMessage("2 - запустить выполнение задач.");
                ConsoleTool.WriteLineConsoleGreenMessage("3 - остановить выполнение задач.");
                ConsoleTool.WriteLineConsoleGreenMessage("4 - добавить 20 задач на выполнение.");
                ConsoleTool.WriteLineConsoleGreenMessage("5 - очистить очередь.");
                ConsoleTool.WriteLineConsoleGreenMessage("Любая другая клавиша - завершение работы.");

                var cki = Console.ReadKey();
                Console.WriteLine();
                switch (cki.KeyChar.ToString())
                {
                case "1":
                    customParralelStack.ConsoleMainInfo();
                    break;

                case "2":
                    _cancelTokenSource = new CancellationTokenSource();
                    _token             = _cancelTokenSource.Token;
                    Task.Factory.StartNew(() => customParralelStack.Start(procCount, _cancelTokenSource));
                    break;

                case "3":
                    Task.Factory.StartNew(() => customParralelStack.Stop());
                    break;

                case "4":
                    GenerateNewTasks();
                    break;

                case "5":
                    Task.Factory.StartNew(() => customParralelStack.Clear());
                    break;

                default:
                    return;
                }
            }
        }
Ejemplo n.º 29
0
        public TaskPage15()
        {
            Car car = new Car("Обычный автомобиль", 120, 4, "Бензин", 90);
            CarWithElectronic carWithElectronic = new CarWithElectronic("Авто напичканное электроникой", 150, 2, "Дизель", 70);
            Bicycle           bicycle           = new Bicycle("Велосипед", 40, 2);

            transports = new List <Transport>()
            {
                car, carWithElectronic, bicycle
            };

            ConsoleTool.WriteLineConsoleGreenMessage("Опробуем поверхностное клонирование объекта с использованием небезизвестного интерфейса.");
            var clonedBicycle = (Bicycle)bicycle.Clone();

            transports.Add(clonedBicycle);
            ConsoleTool.WriteLineConsoleGreenMessage("Выведем текущую инфомрацию по оригинальному и клонированному объектам. Она должна быть одинаковой: ");
            Console.WriteLine(bicycle.ToString());
            Console.WriteLine(clonedBicycle.ToString());

            ConsoleTool.WriteLineConsoleGreenMessage("А теперь изменим все три свойства для оригинального объекта. Эти изменения не должны затронуть клонированный. Затем повторим вывод: ");
            bicycle.Name              = "Переименованный велосипед";
            bicycle.MaxSpeed          = 10;
            bicycle.PassengerCapacity = 1;
            Console.WriteLine(bicycle.ToString());
            Console.WriteLine(clonedBicycle.ToString());

            ConsoleTool.WriteLineConsoleGreenMessage("Рассмотрим пример использования глубокого клонирования. Он используется, когда класс имеет в своей структер поле с сылочным типом данных. Добавим нового водителя к нашему велосипеду.");
            bicycle.TransportDriver = new Driver("Алексей");

            ConsoleTool.WriteLineConsoleGreenMessage("Клонируем наш велосипед еще раз.");
            var moreClonedBicycle = (Bicycle)bicycle.Clone();

            transports.Add(moreClonedBicycle);
            Console.WriteLine(moreClonedBicycle.ToString());

            ConsoleTool.WriteLineConsoleGreenMessage("Теперь переименуем водителя первого велосипеда и выведем все три имеющиеся у нас велосипеды новым способом: ");
            bicycle.TransportDriver.Name = "Александр";
            foreach (Transport transport in transports)
            {
                if (transport is Bicycle)
                {
                    Console.WriteLine(transport.ToString());
                }
            }
        }
Ejemplo n.º 30
0
        public void ConsoleTestPersonEqual()
        {
            ConsoleTool.WriteLineConsoleGreenMessage("Проверяем работу преопределенного Equal. Создадим два экземпляра Person с одинаковыми полями. Ожидаем true.");
            Person person1 = new Person()
            {
                FirstName = "Иван", LastName = "Иванов", PaterName = "Иванович", BirthPlace = "Москва", Passport = "44534233423dsd3"
            };
            Person person2 = new Person()
            {
                FirstName = "Иван", LastName = "Иванов", PaterName = "Иванович", BirthPlace = "Москва", Passport = "44534233423dsd3"
            };

            Console.WriteLine(person1.Equals(person2));

            ConsoleTool.WriteLineConsoleGreenMessage("Изменим для одного из экземпляров один символ в паспорте и сравним повторно. Ожидаем false.");
            person2.Passport = "44534233423dsd4";
            Console.WriteLine(person1.Equals(person2));
        }