public void Then_An_Error_Message_Should_Be_Displayed() { using (var stringWriter = new StringWriter()) { Console.SetOut(stringWriter); CarparkRateCalculationEngine.Main(new string[] { DateTime.Now.ToString(), "InvalidDate" }); var output = stringWriter.ToString(); Assert.AreEqual($"The exit date and time is not valid.{Environment.NewLine}", output); } }
public void Then_An_Error_Message_Should_Be_Displayed() { using (var stringWriter = new StringWriter()) { Console.SetOut(stringWriter); CarparkRateCalculationEngine.Main(new string[] { "argument1" }); var output = stringWriter.ToString(); Assert.AreEqual($"Please provide the exit date and time as the second argument.{Environment.NewLine}", output); } }
public void Then_An_Error_Message_Should_Be_Displayed() { var now = DateTime.Now; using (var stringWriter = new StringWriter()) { Console.SetOut(stringWriter); CarparkRateCalculationEngine.Main(new string[] { now.ToString(), now.AddMinutes(-1).ToString() }); var output = stringWriter.ToString(); Assert.AreEqual($"The entry date and time should be earlier than the exit date and time.{Environment.NewLine}", output); } }
public void Then_The_Standard_Rate_Name_And_Price_Should_Be_Displayed() { var entryDateTime = TestUtilities.MapDayOfWeekToDate(DayOfWeek.Monday).AddHours(11).AddMinutes(30); using (var stringWriter = new StringWriter()) { Console.SetOut(stringWriter); CarparkRateCalculationEngine.Main(new string[] { entryDateTime.ToString(), entryDateTime.ToString() }); var output = stringWriter.ToString(); Assert.AreEqual($"Rate: Standard Rate. Price: $5.00.{Environment.NewLine}", output); } }
public void Then_The_Early_Bird_Rate_Name_And_Price_Should_Be_Displayed(DayOfWeek dayOfWeek) { var entryDateTime = TestUtilities.MapDayOfWeekToDate(dayOfWeek).AddHours(new Random().Next(6, 9)).AddMinutes(new Random().Next(0, 60)); var exitDateTime = TestUtilities.MapDayOfWeekToDate(dayOfWeek).AddHours(new Random().Next(15, 23)).AddMinutes(new Random().Next(0, 60)).AddMinutes(30); using (var stringWriter = new StringWriter()) { Console.SetOut(stringWriter); CarparkRateCalculationEngine.Main(new string[] { entryDateTime.ToString(), exitDateTime.ToString() }); var output = stringWriter.ToString(); Assert.AreEqual($"Rate: Early Bird Rate. Price: $13.00.{Environment.NewLine}", output); } }
public void Then_The_Weekend_Rate_Name_And_Price_Should_Be_Displayed() { var entryDateTime = TestUtilities.MapDayOfWeekToDate(DayOfWeek.Sunday).AddHours(new Random().Next(0, 24)).AddMinutes(new Random().Next(0, 60)); var exitDateTime = entryDateTime.AddMinutes(new Random().Next(0, (int)entryDateTime.AddDays(1).Date.Subtract(entryDateTime).TotalMinutes)); using (var stringWriter = new StringWriter()) { Console.SetOut(stringWriter); CarparkRateCalculationEngine.Main(new string[] { entryDateTime.ToString(), exitDateTime.ToString() }); var output = stringWriter.ToString(); Assert.AreEqual($"Rate: Weekend Rate. Price: $10.00.{Environment.NewLine}", output); } }