示例#1
0
        static void Main(string[] args)
        {
            Team a = new Team();
            Team b = new Team();

            Console.WriteLine("Если, внезапно, ссылки на объекты равны, то вот тут >>"
                              + ReferenceEquals(a, b) + "<< будет тру:) ");

            Console.WriteLine("Если, внезапно, объекты не равны, то вот тут >>"
                              + a.Equals(b) + "<< будет фолс:) ");

            Console.Write("Тест на присваивание отрицательных значений: ");
            try
            {
                a.RegNumber = int.Parse(Console.ReadLine());
            }
            catch (ArgumentOutOfRangeException AE)
            {
                Console.WriteLine(AE.Message);
            }

            ResearchTeam c      = new ResearchTeam();
            Person       person = new Person("Sting", "Shape", DateTime.Now);

            c.AddMembers(new Person(), person);
            c.AddPapers(new Paper(), new Paper("Kosmos", person, DateTime.Now));

            Console.WriteLine(c.ToString() + "\n\n\n");


            ResearchTeam cpTeam = (ResearchTeam)c.DeepCopy();

            c.RegNumber = 23423;
            c.AddMembers(new Person("qqq", "Shape", DateTime.Now));

            Console.WriteLine("Base RT: " + c.ToString() + "\n\n\n");
            Console.WriteLine("Copy RT: " + cpTeam.ToString() + "\n\n\n");

            c.AddPapers(new Paper("rrrrrr", person, DateTime.Now));

            foreach (Paper t in c.GetPapers(2))
            {
                Console.WriteLine(t.ToString() + "\n");
            }



            Console.ReadKey();
        }
示例#2
0
        static void Main(string[] args)
        {
            //1
            Team team_1 = new Team("ABC", 123);
            Team team_2 = new Team("ABC", 123);

            if (team_1 == team_2)
            {
                Console.WriteLine("Объекты равны по значению");
            }

            if (!ReferenceEquals(team_1, team_2))
            {
                Console.WriteLine("Ссылки на объекты не равны");
            }
            //2
            try
            {
                team_1.LicenceNumber = -1;
            }
            catch (ArgumentException ex)
            {
                Console.WriteLine(ex.Message);
            }
            //3
            ResearchTeam researchTeam = new ResearchTeam();

            researchTeam.AddPapers(new Paper("Статья №1", new Person(), new DateTime(2000, 1, 1)), new Paper());
            researchTeam.AddMembers(new Person(), new Person("Иван", "Иванов", new DateTime(1997, 5, 12)));
            Console.WriteLine(researchTeam);
            //4
            Console.WriteLine(researchTeam.Team + "\n");
            //5
            ResearchTeam rTeamCopy = (ResearchTeam)researchTeam.DeepCopy();

            researchTeam.Name = "New Name";
            Console.WriteLine("Данные исходного объекта(изменённые): ");
            Console.WriteLine(researchTeam);
            Console.WriteLine("Данные копии: ");
            Console.WriteLine(rTeamCopy);
            //6
            Console.WriteLine("Участники без публикаций: ");
            foreach (var member in researchTeam.GetMembersWithZeroArticles())
            {
                Console.WriteLine(member);
            }
            //7
            researchTeam.AddPapers(new Paper("Новая статья №1", new Person(), DateTime.Now));
            researchTeam.AddPapers(new Paper("Новая статья №2", new Person(), new DateTime(2020, 10, 11)));
            researchTeam.AddPapers(new Paper("Старая статья №2", new Person(), new DateTime(2010, 10, 11)));

            Console.WriteLine("\nПубликации за последние 2 года");
            foreach (var article in researchTeam.GetLatestPapers(2))
            {
                Console.WriteLine(article);
            }
            //8
            Console.WriteLine("\nУчастники проекта, у которых есть публикации:");
            foreach (var member in researchTeam)
            {
                Console.WriteLine(member);
            }
            //9
            Console.WriteLine("\nУчастники, у которых больше одной публикации:");
            foreach (var member in researchTeam.GetMembersWithMoreThanOneArticle())
            {
                Console.WriteLine(member);
            }
            //10
            Console.WriteLine("\nПубликации за последний год: ");
            foreach (var article in researchTeam.GetLastYearPapers())
            {
                Console.WriteLine(article);
            }
        }