public void ThereIsAFormatError()
 {
     try
     {
         BerlinClockTimeConverter.ToBerlinClockTime(theTime);
         Assert.Fail("Expected exception was not thrown.");
     }
     catch (FormatException) { }
     catch (Exception e)
     {
         Assert.Fail("Unexpected exception was thrown. " + e);
     }
 }
 public void Fails_MoreThan59()
 {
     BerlinClockTimeConverter.SecondsRows(60);
 }
 public void Fails_Negative()
 {
     BerlinClockTimeConverter.SecondsRows(-1);
 }
 public void SecondRow_EachLampIs1Hour(string expected, int hours)
 {
     Assert.AreEqual(expected, BerlinClockTimeConverter.HoursRows(hours).Last(), $"converting {hours} hours");
 }
 public void FirstRow_EachLampIs5Hours(string expected, int hours)
 {
     Assert.AreEqual(expected, BerlinClockTimeConverter.HoursRows(hours)[0],
                     $"converting {hours} hours");
 }
 public void GeneratesTwoRowsOfLamp()
 {
     Assert.AreEqual(2, BerlinClockTimeConverter.HoursRows(0).Length);
 }
 public void Fails_MoreThan25()
 {
     BerlinClockTimeConverter.HoursRows(25);
 }
 public void YellowLampBlinksEveryOtherSecond(string[] expected, int seconds)
 {
     Assert.AreEqual(expected, BerlinClockTimeConverter.SecondsRows(seconds), $"converting {seconds} seconds");
 }
 public void SecondRow_EachLampIs1Minute(string expected, int minutes)
 {
     Assert.AreEqual(expected, BerlinClockTimeConverter.MinutesRows(minutes).Last(), $"converting {minutes} minutes");
 }
 public void FirstRow_EveryQuarter_IsRedLamp(string expected, int minutes)
 {
     Assert.AreEqual(expected, BerlinClockTimeConverter.MinutesRows(minutes)[0],
                     $"converting {minutes} minutes");
 }
 public void SecondRowHas4Lamps()
 {
     Assert.AreEqual(4, BerlinClockTimeConverter.MinutesRows(0).Last().Length);
 }
 public void FirstRowHas11Lamps()
 {
     Assert.AreEqual(11, BerlinClockTimeConverter.MinutesRows(0).First().Length);
 }
 public void ThenTheClockShouldLookLike(string theExpectedBerlinClockOutput)
 {
     Assert.AreEqual(BerlinClockTimeConverter.ToBerlinClockTime(theTime), theExpectedBerlinClockOutput);
 }