/// <summary> /// Privat statisk metod som har två parametrar. Den första parametern är en referens till AlarmClock-objekt. /// Den andra parametern är antalet minuter som AlarmClock-objektet ska gå (vilket lämpligen görs genom att /// låta ett AlarmClock-objekt göra upprepade anrop av metoden TickTock()). /// </summary> /// <param name="ac"></param> /// <param name="minutes"></param> private static void Run(AlarmClock ac, int minutes) { for (int i = 0; i < minutes; i++) { bool larm = ac.TickTock(); if (larm) { ViewTestHeader(ac.ToString() + Strings.Larm); } else { ViewTestHeader(ac.ToString()); } } }
/// <summary> /// Test av konstruktorn med tre parametrar, (13, 24, 7, 35). /// </summary> /// <param name="testObject">Objektet som ska testas</param> private static void Test3(AlarmClock testObject) { testObject = new AlarmClock(13, 24, 7, 35); string testResult = "empty"; testResult = string.Format(Test.Test3, testObject.ToString() + Environment.NewLine + Strings.HorizontalLine); ViewTestHeader(testResult); }
/// <summary> /// Test av standardkonstruktorn. /// </summary> /// <param name="testObject">Objektet som ska testas</param> private static void Test1(AlarmClock testObject) { testObject = new AlarmClock(); string testResult = "empty"; testResult = string.Format(Test.Test1, testObject.ToString() + Environment.NewLine + Strings.HorizontalLine); //.Replace("\\n", Environment.NewLine) ViewTestHeader(testResult); }
//Run Metoden static void Run(AlarmClock test, int minutes) { Console.BackgroundColor = ConsoleColor.DarkGreen; Console.WriteLine(" ╔══════════════════════════════════════╗ "); Console.WriteLine(" ║ Väckarklockan URLED <TM> ║ "); Console.WriteLine(" ║ Modellnr.:1DV402S2L2A ║ "); Console.WriteLine(" ╚══════════════════════════════════════╝ "); Console.ResetColor(); Console.WriteLine(); for (int i = 0; i < minutes; i++) { if (test.TickTock()) { Console.BackgroundColor = ConsoleColor.DarkBlue; Console.WriteLine((test.ToString()) + "♫" + " BEEP BEEP BEEP!!!"); Console.ResetColor(); } else { Console.WriteLine(test.ToString()); } } }
/// <summary> /// Ställer befintlig AlarmClock-object till 23:58 och låten den gå 13 minuter. /// </summary> /// <param name="testObject">Objektet som ska testas</param> private static void Test4(AlarmClock testObject) { testObject.Hour = 23; testObject.Minute = 58; string testResult = "empty"; testResult = string.Format(Test.Test4); ViewTestHeader(testResult); for (int i = 0; i < 13; i++) { testObject.TickTock(); ViewTestHeader(testObject.ToString()); } ViewTestHeader(Strings.HorizontalLine); }
/// <summary> /// Ställer befintligt AlarmClock-objekt till tiden 6:12 och alarmtiden till 6:15 och låter den gå 6 minuter. /// </summary> /// <param name="testObject">Objektet som ska testas</param> private static void Test5(AlarmClock testObject) { testObject.Hour = 6; testObject.Minute = 12; testObject.AlarmHour = 6; testObject.AlarmMinute = 15; string testResult = "empty"; testResult = string.Format(Test.Test5); ViewTestHeader(testResult); for (int i = 0; i < 6; i++) { bool larm = testObject.TickTock(); if (larm) { ViewTestHeader(testObject.ToString() + Strings.Larm); } else { ViewTestHeader(testObject.ToString()); } } ViewTestHeader(Strings.HorizontalLine); }
static void Main(string[] args) { //Test 1 ViewTestHeader("Test 1. \nTest av standarnkonstruktorn."); AlarmClock testC1 = new AlarmClock(); Console.WriteLine(testC1.ToString()); //Test 2 ViewTestHeader("Test 2. \nTest av konstruktorn med två parametrar (9, 42)."); AlarmClock testC2 = new AlarmClock(9, 42); Console.WriteLine(testC2.ToString()); //Test 3 ViewTestHeader("Test 3. \nTest av konstruktorn med fyra parametrar (13, 42 ,7 ,35)."); AlarmClock testC3 = new AlarmClock(13, 59, 7, 35); Console.WriteLine(testC3.ToString()); //Test 4 ViewTestHeader("Test 4. \nStäller befintligt AlarmClock-Object till 23:58 och låter den gå 13 minuter."); AlarmClock testC4 = new AlarmClock(23, 58, 7, 35); Run(testC4, 13); Console.WriteLine(testC4.ToString()); //Test 5 ViewTestHeader("Test 5. \nStäller befintligt AlarmClock-Object till tiden 6:12 och alarmtiden till 6:15\noch låter den gå till 6 minuter."); AlarmClock testC5 = new AlarmClock(6, 13, 6, 15); Run(testC5, 6); Console.WriteLine(testC5.ToString()); //Test 6 ViewTestHeader("Test 6. \nTestar egenskaperna så att undantag kastas då tid och alarmtid \ntilldelas felaktiga värden."); AlarmClock testC6 = new AlarmClock(); // Testar om det kastast undantag i egenskaperna. try { testC6.Hour = 24; } catch (ArgumentException) { ViewErrorMessage("Timmen är inte i intervallet 0-23."); } try { testC6.Minute = 61; } catch (ArgumentException) { ViewErrorMessage("Minuten är inte i intervallet 0-59."); } try { testC6.AlarmHour = 24; } catch (ArgumentException) { ViewErrorMessage("AlarmTimmen är inte i intervallet 0-23."); } try { testC6.AlarmMinute = 61; } catch (ArgumentException) { ViewErrorMessage("Alarmminuten är inte i intervallet 0-59."); } //Test 7 ViewTestHeader("Test 7. \nTestar konstruktorer så att undantag kastas då tid och alarmtid \ntilldelas felaktiga värden."); try { AlarmClock testC7 = new AlarmClock(24, 0, 0, 0); } catch { ViewErrorMessage("Timmen är inte i intervallet 0-23."); } try { AlarmClock testC7 = new AlarmClock(0, 61, 0, 0); } catch { ViewErrorMessage("Minuten är inte i intervallet 0-59"); } try { AlarmClock testC7 = new AlarmClock(0, 0, 24, 0); } catch { ViewErrorMessage("Alarmtimmen är inte i intervallet 0-23."); } try { AlarmClock testC7 = new AlarmClock(0, 0, 0, 61); } catch { ViewErrorMessage("Alarmminuten är inte i intervallet 0-59."); } }