예제 #1
0
        public void AddDefaults()
        {
            //List<ResearchTeam> ResearchTeams = new List<ResearchTeam>();
            Person person  = new Person("Tetiana", "Deretorska", new DateTime(2001, 02, 22));
            Person person1 = new Person("Olha", "Deretorska", new DateTime(2001, 02, 22));
            Paper  paper   = new Paper(person, "Science", new DateTime(2020, 11, 20));

            ResearchTeam researchTeam = new ResearchTeam("Nature2", TimeFrame.TwoYears);

            researchTeam.NameOfOrganisation = "Organization1";
            researchTeam.RegistrationNumber = 23;
            researchTeam.AddPerson(person);
            researchTeam.AddPerson(person1);
            researchTeam.AddPapers(paper);
            researchTeam.AddPapers(paper);
            ResearchTeams.Add(researchTeam);

            // List<ResearchTeam> ResearchTeams = new List<ResearchTeam>();
            Person       personw       = new Person("Olia", "Melnyk", new DateTime(2001, 02, 22));
            Paper        paperw        = new Paper(personw, "Science", new DateTime(2020, 11, 20));
            ResearchTeam researchTeamw = new ResearchTeam("Nature1", TimeFrame.Long);

            researchTeamw.NameOfOrganisation = "Organization2";
            researchTeamw.RegistrationNumber = 21;
            researchTeamw.AddPerson(person);
            researchTeamw.AddPapers(paper);
            ResearchTeams.Add(researchTeamw);
        }
예제 #2
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();
        }
예제 #3
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);
            }
        }