static void Main(string[] args) { Console.WriteLine("///////// Partial Class in Different files test"); Virus virus2 = new Virus("Chameleon", "Yura", "Data Base"); virus2.Info(); Console.WriteLine(); Virus virus1 = new Virus("qwe", "Yura", "OS"); virus1.Info(); Console.Write("Are objects equal? "); if (virus1.Equals(virus2)) { Console.WriteLine("Yes"); } else { Console.WriteLine("No!"); } Console.WriteLine(); Console.WriteLine("///////// Enum test"); Game Dota2 = new Game("Dota 2", "Valve", "MMORPG"); Dota2.Info(); Dota2.GetState(); Console.WriteLine("Включаем программу..."); Dota2.State = Program.ProgramState.Loading; Dota2.GetState(); Dota2.State = Program.ProgramState.Ready; Dota2.GetState(); Console.WriteLine(); Console.WriteLine("///////// Struct test"); Virus structVirus = new Virus(); Virus.Properties props = new Virus.Properties { version = "1.0.2", lastModifiedBy = "Kubarko" }; props.Log(); Console.WriteLine(); Console.WriteLine("///////// Class-Container test"); Word wordProgram = new Word(); Sapper sapperProgram = new Sapper(); Game gameProgram = new Game("Dota 2", "Valve", "MMORPG"); Computer.Add(wordProgram); Computer.Add(sapperProgram); Computer.Add(gameProgram); Computer.Add(new Game("Crusader Kings 3", "Paradox", "Strategy")); Console.WriteLine("\n*** Printing all objects before deleting ***"); Computer.Print(); Computer.Delete(gameProgram); Console.WriteLine("\n*** Printing all objects after deleting ***"); Computer.Print(); Console.WriteLine("///////// Class-Controller test"); Console.WriteLine(); Game gameController1 = new Game("Dota 2", "Valve", "MMORPG"); Game gameController2 = new Game("Dota 3", "Ubisoft", "MMORPG"); Game gameController3 = new Game("Dota 15", "Paradox", "MMORPG"); Game gameController4 = new Game("Counter-Strike", "Valve", "Shooter"); Computer.Add(gameController1); Computer.Add(gameController2); Computer.Add(gameController3); Computer.Add(gameController4); List <Program> GamesSortedByGenre = Controller.FindGamesByType(); foreach (Game p in GamesSortedByGenre) { p.Info(); Console.WriteLine(); } Console.WriteLine("///////// Class-Controller test 2"); Console.WriteLine(); TextProcessor tController1 = new TextProcessor("Texter", "Ivan", "1.0.0"); TextProcessor tController2 = new TextProcessor("Edit Me", "Helen Frolova", "1.2.0"); TextProcessor tController3 = new TextProcessor(); Word tController4 = new Word("John Worder", "1.0.1"); Word tController5 = new Word(); Computer.Add(tController1); Computer.Add(tController2); Computer.Add(tController3); Computer.Add(tController4); Computer.Add(tController5); List <Program> TextProcessorsFilteredByVersion = Controller.TextProcessorVersion(); foreach (TextProcessor t in TextProcessorsFilteredByVersion) { t.Info(); Console.WriteLine(); } Console.ReadKey(); Console.WriteLine("//////////// Sorting Test"); Console.WriteLine("Before Sorting: "); foreach (Program p in Computer.Programs) { p.Info(); Console.WriteLine(); } Console.WriteLine(); Console.WriteLine("After Sorting: "); List <Program> SortedPrograms = Controller.SortByName(); foreach (Program p in SortedPrograms) { p.Info(); Console.WriteLine(); } }
static void Main(string[] args) { Game myGameException = new Game(); Game myGameException2 = new Game("Dota 2", "Valve", "MMORPG"); Game myGameException3 = new Game("CK3", "Paradox", "Strategy"); Virus myVirusException = new Virus(); Computer.Programs.Add(myGameException); Console.WriteLine("\n ####### Имитируем обработку кастомного исключения 1\n"); try { Computer.DeleteByIndex(-1);//Вызовется кастомное исключение 1 } catch (MyCustomOutOfRangeException ex) { Console.WriteLine($"Error Name: {ex.MyExcName()}"); Console.WriteLine($"Reason: {ex.MyExcCause()}"); Console.WriteLine($"Time: {ex.MyExcDate()}"); } Console.WriteLine("\n ####### Имитируем обработку кастомного исключения 2\n"); try { Computer.UpdateGame(myVirusException);//Вызовется кастомное исключение 2 //Computer.UpdateGame(myGameException);//Не вызовется кастомное исключение 2 } catch (MyGameUpdateException ex) { ex.Info(); } Console.WriteLine("\n ####### Имитируем обработку исключения 1\n"); try { Computer.Programs.Insert(-1, new Word()); } catch (ArgumentOutOfRangeException ex) { Console.WriteLine($"Error: {ex.Message}\nErrored parameter: {ex.ParamName}\nTarget Site: {ex.TargetSite}"); } Console.WriteLine("\n ####### Имитируем обработку исключения 2\n"); try { Console.WriteLine("Сколько раз Word запускался с ошибкой?"); int numOfErrors = Convert.ToInt32(Console.ReadLine()); Console.WriteLine("Сколько всего раз вы запускали Word?"); int numOfOpens = Convert.ToInt32(Console.ReadLine()); Word myWordDivideByZeroException = new Word(numOfOpens, numOfErrors); myWordDivideByZeroException.GetInfoAboutOpens(); Console.WriteLine(myWordDivideByZeroException.PercentOfErroredOpens());//Вызовется если numOfOpens == 0 } catch (DivideByZeroException ex) { Console.WriteLine($"Error: {ex.Message}\nTarget Site: {ex.TargetSite}"); } catch (FormatException ex) { Console.WriteLine($"Error: {ex.Message}\nTarget Site: {ex.TargetSite}"); } finally { Console.WriteLine("Блок Finally..."); } Console.ReadKey(); }