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(); }
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); } }