示例#1
0
        static void Main(string[] args)
        {
            // Test av klockan där vi själva sätter in värdena/tiden som vi vill ha på displayen.
            //  Vi får även skapa nya fält för varje nytt test, clockTest 1, 2...
            //   Vi får kalla på våra metoder för att kunna skriva ut ett meddelande(string).
            //    De två första väderna vi sätter in är till klockan & de två sista som skrivs in är till alarmklockan.

            ViewTestHeader("Test 1.\nTest av standardkonstrukton.");
            AlarmClock clockTest1 = new AlarmClock();

            Console.WriteLine(clockTest1.ToString());


            ViewTestHeader("Test 2.\nTest av konstrukton med två parametrar, (9, 42).");
            AlarmClock clockTest2 = new AlarmClock(9, 42);

            Console
            .WriteLine(clockTest2.ToString());

            ViewTestHeader("Test 3.\nTest av konstrukton med fyra parametrar, (13, 24, 7, 35).");
            AlarmClock clockTest3 = new AlarmClock(13, 24, 7, 35);

            Console.WriteLine(clockTest3.ToString());


            ViewTestHeader("\nTest 4.\nStäller befintligt AlarmClock-objekt till tiden 23:58 & låter den gå 13 minuter.");
            clockTest3.Hour        = 23;
            clockTest3.Minute      = 58;
            clockTest3.AlarmHour   = 7;
            clockTest3.AlarmMinute = 35;
            Run(clockTest3, 13);


            ViewTestHeader("\nTest 5.\nStäller befintligt AlarmClock-objekt till tiden 6:12 & alarmtiden til 6:15 & låter den gå i 6 minuter.");
            clockTest3.Hour        = 6;
            clockTest3.Minute      = 12;
            clockTest3.AlarmHour   = 6;
            clockTest3.AlarmMinute = 15;
            Run(clockTest3, 6);


            // Vi provar vår klocka igen. Denna gången med en TryCatch metod. Om värdena överstrider reglerna som vi har satt i klassen AlarmClock så skickas ett felmeddelande.
            //  Även här kallar vi på en metod för att skriva ut vårt meddelande.


            ViewTestHeader("\nTest 6.\nTestar egenskaperna så att undantag kastas då tid & alarmtid tilldelas \nfelaktiga värden.");

            try
            {
                clockTest3.Hour = 30;
            }
            catch (ArgumentException)
            {
                ViewErrorMessage("Timmen är inte i intervallet 0-23.");
            }


            try
            {
                clockTest3.Minute = 70;
            }
            catch (ArgumentException)
            {
                ViewErrorMessage("Minuten är inte i intervallet 0-59.");
            }


            try
            {
                clockTest3.AlarmHour = 30;
            }
            catch (ArgumentException)
            {
                ViewErrorMessage("Alarmtimmen är inte i intervallet 0-23.");
            }


            try
            {
                clockTest3.AlarmMinute = 70;
            }
            catch (ArgumentException)
            {
                ViewErrorMessage("Alarmminuten är inte i intervallet 0-59.");
            }


            ViewTestHeader("Test 7. \nTestar konstruktorer så att undantag kastas då tid & alarmtid tilldelas \nfelaktiga värden.");

            try
            {
                AlarmClock clockTest4 = new AlarmClock(24, 0);
            }
            catch (ArgumentException)
            {
                ViewErrorMessage("Timmen är inte i intervallet 0-23.");
            }


            try
            {
                AlarmClock clockTest5 = new AlarmClock(0, 0, 24, 0);
            }
            catch (ArgumentException)
            {
                ViewErrorMessage("Alarmtimmen är inte i intervallet 0-23.");
            }
        }