/// <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); }
/// <summary> /// Metoden ska instansiera objekt av klassen AlarmClock och testa konstruktorerna, egenskaperna och metoderna. /// </summary> /// <param name="args"></param> static void Main(string[] args) { //AlarmClockTest(); ClockTest TestTheClock = new ClockTest(); Console.WriteLine("\n\n\n"); AlarmClock RealClock = new AlarmClock(21, 30, 21, 35); Run(RealClock, 10); }
/// <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> /// Metod som testar så att väckarklockan uppfyller alla krav /// </summary> private static void AlarmClockTest() { AlarmClock TestObject = new AlarmClock(); Test1(TestObject); Test2(TestObject); Test3(TestObject); Test4(TestObject); Test5(TestObject); Test6(TestObject); Test7(TestObject); }
/// <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> /// Testar konstruktorer så att undantag kastas då tid och alarmtid tilldelas felaktiga värden. /// </summary> /// <param name="testObject">Objektet som ska testas</param> private static void Test7(AlarmClock testObject) { ViewTestHeader(Test.Test7); try { testObject = new AlarmClock(99, 99, 7, 35); } catch (Exception) { ViewErrorMessage(Test.Error_Hour); } try { testObject = new AlarmClock(13, 24, 99, 99); } catch (Exception) { ViewErrorMessage(Test.Error_Minute); } ViewTestHeader(Strings.HorizontalLine); }
/// <summary> /// Testar egenskaperna så att undantag kastas då tid och alarmtid tilldelas felaktiga värden. /// </summary> /// <param name="testObject">Objektet som ska testas</param> private static void Test6(AlarmClock testObject) { ViewTestHeader(Test.Test6); try { testObject.Hour = 99; } catch (ArgumentException ex) { ViewErrorMessage(ex.Message); } try { testObject.Minute = 99; } catch (ArgumentException ex) { ViewErrorMessage(ex.Message); } try { testObject.AlarmHour = 99; } catch (Exception) { ViewErrorMessage(Test.Error_Hour); } try { testObject.AlarmMinute = 99; } catch (Exception) { ViewErrorMessage(Test.Error_Minute); } 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) { int ammountOfMinutes; string HorizontalLine = "Test 1. \nTest av standard konstruktorn."; Console.BackgroundColor = ConsoleColor.DarkGreen; Console.ForegroundColor = ConsoleColor.White; Console.WriteLine(" ╔══════════════════════════════════════╗ "); Console.WriteLine(" ║ Väckarklockan ║ "); Console.WriteLine(" ╚══════════════════════════════════════╝ "); Console.ResetColor(); Console.WriteLine(); AlarmClock time = new AlarmClock(); Console.WriteLine("__________________________________"); ViewTestHeader(HorizontalLine); Console.WriteLine(); Console.WriteLine(time); AlarmClock time2 = new AlarmClock(9, 42); Console.WriteLine(); Console.WriteLine(); Console.WriteLine("__________________________________"); HorizontalLine = "Test 2. \nTest av konstruktorn med två parametrar, <9, 42>."; ViewTestHeader(HorizontalLine); Console.WriteLine(); Console.WriteLine(time2); AlarmClock time3 = new AlarmClock(13, 24, 7, 35); Console.WriteLine(); Console.WriteLine(); Console.WriteLine("__________________________________"); HorizontalLine = "Test 3. \nTest av konstruktorn med fyra parametrar, <13, 24, 7, 35>."; ViewTestHeader(HorizontalLine); Console.WriteLine(); Console.WriteLine(time3); AlarmClock time4 = new AlarmClock(23, 58, 7, 35); Console.WriteLine(); Console.WriteLine(); Console.WriteLine("__________________________________"); HorizontalLine = "Test 4.\nStäller befintligt AlamClock-objekt till 23:58 och låter den gå 13 minuter."; ViewTestHeader(HorizontalLine); Console.WriteLine(); ammountOfMinutes = 13; Run(time4, ammountOfMinutes); AlarmClock time5 = new AlarmClock(6, 12, 6, 15); Console.WriteLine(); Console.WriteLine(); Console.WriteLine("__________________________________"); HorizontalLine = "Test 5.\nStäller befintligt AlarmClock-objekt till tiden 6:12 och alarmtiden till 6:15 och låter den gå 6 minuter"; ViewTestHeader(HorizontalLine); Console.WriteLine(); ammountOfMinutes = 6; Run(time5, ammountOfMinutes); Console.WriteLine(); Console.WriteLine(); Console.WriteLine("__________________________________"); HorizontalLine = "Test 6.\nTestar egenskaperna så att undantag kastas så tid och alarmtid tilldelas felaktiga värden."; ViewTestHeader(HorizontalLine); Console.WriteLine(); try { time.Hour = 88; } catch (ArgumentException ex) { ViewErrorMessage(ex.Message); } try { time.Minute = 88; } catch (ArgumentException ex) { ViewErrorMessage(ex.Message); } try { time.Alarmhour = 88; } catch (ArgumentException ex) { ViewErrorMessage(ex.Message); } try { time.Minute = 88; } catch (ArgumentException ex) { ViewErrorMessage(ex.Message); } Console.WriteLine(); Console.WriteLine(); Console.WriteLine("__________________________________"); HorizontalLine = "Test 7.\nTest av konstruktorer så att undantag kastas då tid och alarmtid tilldelas felaktiga värden."; ViewTestHeader(HorizontalLine); Console.WriteLine(); try { AlarmClock time6 = new AlarmClock(88, 0, 0, 0); } catch (ArgumentException ex) { ViewErrorMessage(ex.Message); } try { AlarmClock time6 = new AlarmClock(0, 0, 545, 0); } catch (ArgumentException ex) { ViewErrorMessage(ex.Message); } }