using System; using System.Collections.Generic; using System.Linq; using System.Text; using System.Threading.Tasks; namespace ConsoleApplication18 { class Program { static int Soucet( int a, int b) { return a + b; } static int Podil( string s, out JakToDopadlo jak) { char[] odd = {' '}; string[] ss = s.Split(odd,StringSplitOptions.RemoveEmptyEntries); try { if (ss.Length < 2) { jak = JakToDopadlo.MaloCisel; return 777; } if (ss.Length > 2) { jak = JakToDopadlo.HodneCisel; return 777; } int a = Int32.Parse(ss[0]); int b = Int32.Parse(ss[1]); jak = JakToDopadlo.OK; return a / b; } catch (DivideByZeroException) { jak = JakToDopadlo.DeleniNulou; return 777; } catch (FormatException) { jak = JakToDopadlo.SpatneZnaky; return 777; } catch (OverflowException) { jak = JakToDopadlo.Preteklo; return 777; } } enum JakToDopadlo { OK, MaloCisel, HodneCisel,DeleniNulou,SpatneZnaky, Preteklo}; static int testyCelkem = 0; static int testyChyba = 0; static void OtestujPodil( string s, int oV, JakToDopadlo oJ) { testyCelkem++; JakToDopadlo j; int x = Podil(s,out j); if ((x!=oV)||(j!=oJ)) { testyChyba++; Console.WriteLine( "CHYBA: ({0}), cekal jsem: {1}/{3}" +"dostal jsem: {2}/{4}", s, oV, x, oJ, j); } } static void OtestujPodilPoradne() { OtestujPodil("4 2", 2, JakToDopadlo.OK); OtestujPodil("4 20", 0, JakToDopadlo.OK); OtestujPodil("14 2", 7, JakToDopadlo.OK); OtestujPodil("14 0", 777, JakToDopadlo.DeleniNulou); OtestujPodil("1", 777, JakToDopadlo.MaloCisel); OtestujPodil("1 2 3", 777, JakToDopadlo.HodneCisel); OtestujPodil("a b", 777, JakToDopadlo.SpatneZnaky); OtestujPodil("99999999999999999 1", 777, JakToDopadlo.Preteklo); Console.WriteLine("Testy: {0} Chyby: {1}", testyCelkem, testyChyba); } static void Main(string[] args) { OtestujPodilPoradne(); Console.ReadLine(); } } }