public static void Main(string[] args) { ResearchTeamCollection l = new ResearchTeamCollection(); l.AddDefaults(); l.AddDefaults(); l.AddDefaults(); ResearchTeam team1 = new ResearchTeam("one", "name", 12, TimeFrame.TwoYears); l.AddResearchTeams(team1); l.Sort(1); l.Sort(2); l.Sort(3); Console.WriteLine("\n\nMin item: {0}", l.MinRegNum); foreach (ResearchTeam team in l.TwoYearsTeams) { Console.WriteLine("2Years: {0}", team); } foreach (ResearchTeam team in l.NGroup(0)) { Console.WriteLine("Group: {0}", team); } TestCollection test = new TestCollection(); test.GetTiming(); }
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"); + } */ ResearchTeamCollection q = new ResearchTeamCollection(); q.AddDefaults(); string output = ""; foreach (ResearchTeam team in q.SortedByTheme) { output += team + "\n\n"; } Console.WriteLine(output);; Console.ReadKey(); }
public static void Main() { ResearchTeamCollection <string> researchTeamCollection = new ResearchTeamCollection <string>(team => team.Name); researchTeamCollection.AddDefaults(10); var testResTeam1 = new ResearchTeam("ResName***", "CompName***", 912, "Teammy", TimeFrame.TwoYears); var testResTeam2 = new ResearchTeam("ResName___", "CompName___", 912, "Turner", TimeFrame.TwoYears); testResTeam1.AddPapers(new Paper("B", new Person("Andrew", "Garfield", new DateTime(1985, 1, 21)), new DateTime(2020, 1, 10))); testResTeam1.AddPapers(new Paper("C", new Person("Santa", "Claus", new DateTime(1985, 1, 21)), new DateTime(2019, 1, 10))); testResTeam1.AddPapers(new Paper("A", new Person("Pavel", "Morozov", new DateTime(1985, 1, 21)), new DateTime(2018, 1, 10))); testResTeam2.AddPapers(new Paper("A", new Person(), new DateTime(2021, 2, 6))); testResTeam2.AddPapers(new Paper("A", new Person(), new DateTime(2019, 2, 6))); testResTeam2.AddPapers(new Paper("A", new Person(), new DateTime(2018, 2, 6))); researchTeamCollection.AddResearchTeams(testResTeam1, testResTeam2); //1 Console.WriteLine("Статьи отсортированные по дате: "); foreach (var item in testResTeam1.SortArticlesByDate()) { Console.WriteLine(item); } Console.WriteLine("\nСтатьи отсортированы по названию: "); foreach (var item in testResTeam1.SortByArticleName()) { Console.WriteLine(item); } Console.WriteLine("\nСтатьи отсортированы по фамилии автора: "); foreach (var item in testResTeam1.SortByAuthorSurname()) { Console.WriteLine(item); } //2 var tTeam1 = new ResearchTeam("OOO", "Comp___Name", 122, "Troover", TimeFrame.Year); var tTeam2 = new ResearchTeam("FFF", "Comp_-_Name", 93, "CatDog", TimeFrame.Year); tTeam1.AddPapers(new Paper("FirstPaper", new Person("Andrew", "Garfield", new DateTime(1985, 1, 21)), new DateTime(2020, 5, 10))); tTeam2.AddPapers(new Paper("SecondPaper", new Person(), new DateTime(2021, 1, 6))); ResearchTeamCollection <string> strTeamCollection = new ResearchTeamCollection <string>(team => team.Name); strTeamCollection.AddResearchTeams(tTeam1, tTeam2, testResTeam1, testResTeam2); Console.WriteLine("\nResTeam<string>:"); Console.WriteLine(strTeamCollection); //3 Console.WriteLine("Дата выхода последней статьи"); Console.WriteLine(strTeamCollection.LatestArticleDate); Console.WriteLine("\nКоманды с продолжительностью исследования год:"); foreach (var item in strTeamCollection.TimeFrameGroup(TimeFrame.Year)) { Console.WriteLine(item.Value.ToShortString()); } Console.WriteLine("\nГруппировка элементов по длительности исследований: "); foreach (var group in strTeamCollection.DurationGroups) { Console.WriteLine("\nГруппа с продолжительностью " + group.Key); foreach (var item in group) { Console.WriteLine(item.Value.ToShortString()); } } //4 int elCount = 0;// = 1000000; while (true) { try { Console.Write("Введите кол-во элементов: "); elCount = Int32.Parse(Console.ReadLine()); if (elCount <= 0) { Console.WriteLine("Число должно быть положительным! Повторите ввод"); continue; } break; } catch (FormatException) { Console.WriteLine("Ошибка при вводе числа! Повторите ввод"); } catch (OverflowException) { Console.WriteLine("Число слишком большое! Повторите ввод"); } } TestCollections testCollection = new TestCollections(elCount); List <Team> lst = testCollection.GetTeamList(); Console.WriteLine("\nВремя для первого элемента: \n"); PrintTime(lst[0], testCollection); Console.WriteLine("\nВремя для элемента в середине: \n"); PrintTime(lst[lst.Count / 2], testCollection); Console.WriteLine("\nВремя для элемента в конце: \n"); PrintTime(lst[lst.Count - 1], testCollection); Console.WriteLine("\nВремя для элемента которого нет: \n"); PrintTime(new Team("GG", 123321, "321"), testCollection); }
static void Main(string[] args) { Console.WindowWidth = 170; //1 ResearchTeamCollection teamCollection = new ResearchTeamCollection(); Random random = new Random(); for (int i = 0; i < 5; i++) { teamCollection.AddResearchTeams(TestCollections.GenElement(random.Next(1000))); } teamCollection.AddResearchTeams(new ResearchTeam("ResName***", "CompName***", 912, "Teammy", TimeFrame.TwoYears)); teamCollection.AddResearchTeams(new ResearchTeam("ResName___", "CompName___", 912, "Turner", TimeFrame.TwoYears)); Console.WriteLine(teamCollection); //2 Console.WriteLine("\nСортировка по номеру лицензии"); foreach (var item in teamCollection.GetSortedByLicenceList()) { Console.WriteLine(item.ToShortString()); } Console.WriteLine("\nСортировка по названию исследований"); foreach (var item in teamCollection.GetSortedByResearchNameList()) { Console.WriteLine(item.ToShortString()); } Console.WriteLine("\nСортировка по числу публикаций"); foreach (var item in teamCollection.GetSortedByArticlesCount()) { Console.WriteLine(item.ToShortString() + "Кол-во статей: " + item.ArticleList.Count); } //3 Console.WriteLine("\nМинимальная лицензия: " + teamCollection.MinLicenceNumber); Console.WriteLine("\nИсследования с сроком 2 года: "); foreach (var item in teamCollection.TwoYearResearchTeams) { Console.WriteLine(item); } Console.WriteLine("\nГруппировка по кол-ву объектов"); foreach (var group in teamCollection.GetResTeamList().GroupBy(team => team.ArticleList.Count)) { Console.WriteLine("\nГруппа №" + group.Key); foreach (var item in group) { Console.WriteLine(item.ToShortString() + "Кол-во статей: " + item.ArticleList.Count); } } //4 int elCount = 0;// = 1000000; while (true) { try { Console.Write("Введите кол-во элементов: "); elCount = Int32.Parse(Console.ReadLine()); if (elCount <= 0) { Console.WriteLine("Число должно быть положительным! Повторите ввод"); continue; } break; } catch (FormatException) { Console.WriteLine("Ошибка при вводе числа! Повторите ввод"); } catch (OverflowException) { Console.WriteLine("Число слишком большое! Повторите ввод"); } } TestCollections testCollection = new TestCollections(elCount); List <Team> lst = testCollection.GetTeamList(); Console.WriteLine("\nВремя для первого элемента: \n"); PrintTime(lst[0], testCollection); Console.WriteLine("\nВремя для элемента в середине: \n"); PrintTime(lst[lst.Count / 2], testCollection); Console.WriteLine("\nВремя для элемента в конце: \n"); PrintTime(lst[lst.Count - 1], testCollection); }