using System; using System.Collections.Generic; using System.Linq; using System.Text; using System.Threading.Tasks; namespace ConsoleApplication24 { class Program { static int VratPodil(string s, out JakToDopadlo jtd) { char[] odd = {' '}; if (s==null) { jtd = JakToDopadlo.NULL; return 5; } string[] spole = s.Split(odd, StringSplitOptions.RemoveEmptyEntries); if (spole.Length<2) { jtd = JakToDopadlo.MaloVstupnichHodnot; return 5; } if (spole.Length > 2) { jtd = JakToDopadlo.MocCisel; return 5; } try { int a = int.Parse(spole[0]); int b = int.Parse(spole[1]); jtd = JakToDopadlo.OK; return a / b; } catch (DivideByZeroException) { jtd = JakToDopadlo.DeleniNulou; return 5; } catch (OverflowException) { jtd = JakToDopadlo.MocVelkeCislo; return 5; } catch (FormatException) { jtd = JakToDopadlo.SpatneCislo; return 5; } jtd = JakToDopadlo.SemBychSeVubecNemelDostat; return 5; } static int PocetTestu = 0; static int PocetChyb = 0; static void OtestujJedenVstup( string vstup, int pozadovanyVysledek, JakToDopadlo pozadovaneJTD) { PocetTestu++; JakToDopadlo jtd; int vysledek = VratPodil(vstup, out jtd); if ((jtd!=pozadovaneJTD) || (vysledek!=pozadovanyVysledek)) { PocetChyb++; Console.WriteLine("CHYBA:"); Console.WriteLine("Vstup: {0} vysledek {1} misto {2}; {3}/{4}", vstup, vysledek, pozadovanyVysledek, jtd, pozadovaneJTD ); } } enum JakToDopadlo { OK, DeleniNulou, MaloVstupnichHodnot, SpatneCislo, NULL, MocCisel, SpatnyOddelovac, MocVelkeCislo, SemBychSeVubecNemelDostat}; static void OtestujFunkciPodil() { PocetTestu = 0; PocetChyb = 0; OtestujJedenVstup("2 1", 2, JakToDopadlo.OK); OtestujJedenVstup("2 1", 2, JakToDopadlo.OK); OtestujJedenVstup("4 2", 2, JakToDopadlo.OK); OtestujJedenVstup(" 4 2", 2, JakToDopadlo.OK); OtestujJedenVstup("4 2 ", 2, JakToDopadlo.OK); OtestujJedenVstup(" 4 2 ", 2, JakToDopadlo.OK); OtestujJedenVstup("5 2", 2, JakToDopadlo.OK); OtestujJedenVstup("10 2", 5, JakToDopadlo.OK); OtestujJedenVstup("20 4", 5, JakToDopadlo.OK); OtestujJedenVstup("1850 370", 5, JakToDopadlo.OK); OtestujJedenVstup("1850 370", 5, JakToDopadlo.OK); OtestujJedenVstup("10 0", 5, JakToDopadlo.DeleniNulou); OtestujJedenVstup("1", 5, JakToDopadlo.MaloVstupnichHodnot); OtestujJedenVstup("", 5, JakToDopadlo.MaloVstupnichHodnot); OtestujJedenVstup("text", 5, JakToDopadlo.MaloVstupnichHodnot); OtestujJedenVstup("text text", 5, JakToDopadlo.SpatneCislo); OtestujJedenVstup("1 text", 5, JakToDopadlo.SpatneCislo); OtestujJedenVstup("text 1", 5, JakToDopadlo.SpatneCislo); OtestujJedenVstup(" text text", 5, JakToDopadlo.SpatneCislo); OtestujJedenVstup(" 1 text", 5, JakToDopadlo.SpatneCislo); OtestujJedenVstup(" text 1", 5, JakToDopadlo.SpatneCislo); OtestujJedenVstup("text text ", 5, JakToDopadlo.SpatneCislo); OtestujJedenVstup("1 text ", 5, JakToDopadlo.SpatneCislo); OtestujJedenVstup("text 1 ", 5, JakToDopadlo.SpatneCislo); OtestujJedenVstup(null, 5, JakToDopadlo.NULL); OtestujJedenVstup("1 2 3", 5, JakToDopadlo.MocCisel); OtestujJedenVstup("10,2", 5, JakToDopadlo.MaloVstupnichHodnot); OtestujJedenVstup("100000000000000000 2", 5, JakToDopadlo.MocVelkeCislo); OtestujJedenVstup("2 100000000000000000", 5, JakToDopadlo.MocVelkeCislo); Console.WriteLine("======================="); Console.WriteLine("Celkem {0} testu {1} chyb", PocetTestu, PocetChyb ); Console.WriteLine("======================="); } static void Main(string[] args) { OtestujFunkciPodil(); } } }