public void FortuneCookie_Constructor_PassANullName_ThrowsException() { //Arrange //Act var cookie = new FortuneCookie(null); // Assert Assert.Fail("An exception should have been thrown."); }
public void AppRun_NameIsGiven_FirstOutputAsksForYourName() { var fakeConsole = GenerateFakeConsoleWithInputs(); var fortuneCookie = new FortuneCookie(new DateTimeOffsetWrapper()); var app = new App(fortuneCookie, fakeConsole); app.Run(); fakeConsole.WrittenLines[0].Should().Be("What's your name? "); }
public void AppRun_WhenNormalUse_ReadsTwoInputs() { var fakeConsole = GenerateFakeConsoleWithInputs(); var fortuneCookie = new FortuneCookie(new DateTimeOffsetWrapper()); var app = new App(fortuneCookie, fakeConsole); app.Run(); fakeConsole.LinesToRead.Count.Should().Be(0); }
public void AppRun_SecondOutputAsksForYourBirthday() { var fakeConsole = GenerateFakeConsoleWithInputs(); var fortuneCookie = new FortuneCookie(new DateTimeOffsetWrapper()); var app = new App(fortuneCookie, fakeConsole); app.Run(); fakeConsole.WrittenLines[1].Should().Be("When were you born (dd/mm/yyyy)?"); }
public void AppRun_WhenIncorrectDateEnteredForDateOfBirthday_ThirdOutputReturnsWarning() { var fakeConsole = new FakeConsole(); fakeConsole.LinesToRead.Enqueue("Peter"); fakeConsole.LinesToRead.Enqueue("incorrect date format"); var fortuneCookie = new FortuneCookie(new DateTimeOffsetWrapper()); var app = new App(fortuneCookie, fakeConsole); app.Run(); fakeConsole.WrittenLines[2].Should().Be("That's not a date of birth. No fortune for you!"); }
public void AppRun_NameInputAsPeter_ThirdOutputHasGreetingUsingInputName() { var fakeConsole = new FakeConsole(); fakeConsole.LinesToRead.Enqueue("Peter"); fakeConsole.LinesToRead.Enqueue("01/01/1990"); var fortuneCookie = new FortuneCookie(new DateTimeOffsetWrapper()); var app = new App(fortuneCookie, fakeConsole); app.Run(); fakeConsole.WrittenLines[2].Should().StartWith("Hi Peter!"); }
public void AppRun_WhenGivenDateOfBirthIsThursday_FourthOutputGivesFortuneForThursday() { var fakeConsole = new FakeConsole(); fakeConsole.LinesToRead.Enqueue("Peter"); fakeConsole.LinesToRead.Enqueue("03/09/2020"); var fortuneCookie = new FortuneCookie(new DateTimeOffsetWrapper()); var app = new App(fortuneCookie, fakeConsole); app.Run(); fakeConsole.WrittenLines[4].Should().Be("On the day you were born your fortune was: Avocadoes are lucky!"); }
public void AppRun_WhenDayOfTheWeek_ThirdOutputReturnsCorrectFortuneForTheDayOfTheWeek( DateTimeOffset currentDate, string result) { var fakeConsole = GenerateFakeConsoleWithInputs(); var fortuneCookie = new FortuneCookie(new FakeDateTimeOffset { Now = currentDate }); var app = new App(fortuneCookie, fakeConsole); app.Run(); fakeConsole.WrittenLines[3].Should().EndWith(result); }
public void AppRun_TodayIsJanuaryFirstButDateOfBirthIsDifferentDate_DoNotWishHappyBirthday() { var fakeConsole = new FakeConsole(); fakeConsole.LinesToRead.Enqueue("John"); fakeConsole.LinesToRead.Enqueue("02/02/1995"); var fortuneCookie = new FortuneCookie(new FakeDateTimeOffset { Now = DateTimeOffset.Parse("01/01/2020") }); var app = new App(fortuneCookie, fakeConsole); app.Run(); fakeConsole.WrittenLines[2].Should().NotBe("Happy birthday, John!"); }
public void AppRun_WhenNameIsJohnAndTodayAndDateOfBirthIsJanuaryFirst_WishJohnHappyBirthday() { var fakeConsole = new FakeConsole(); fakeConsole.LinesToRead.Enqueue("John"); fakeConsole.LinesToRead.Enqueue("01/01/1995"); var fortuneCookie = new FortuneCookie(new FakeDateTimeOffset { Now = DateTimeOffset.Parse("01/01/2020") }); var app = new App(fortuneCookie, fakeConsole); app.Run(); fakeConsole.WrittenLines[2].Should().Be("Happy birthday, John!"); }
public void AppRun_TodayIsBirthdayForDateOfBirth_WishHappyBirthdayAndDoNotGreetAgain() { var fakeConsole = new FakeConsole(); fakeConsole.LinesToRead.Enqueue("John"); fakeConsole.LinesToRead.Enqueue("05/05/1985"); var fortuneCookie = new FortuneCookie(new FakeDateTimeOffset { Now = DateTimeOffset.Parse("05/05/2020") }); var app = new App(fortuneCookie, fakeConsole); app.Run(); fakeConsole.WrittenLines[2].Should().Be("Happy birthday, John!"); fakeConsole.WrittenLines[3].Should().Be("Your fortune for today is: Beware of figs!"); }
static void Main(string[] args) { SetUpExceptionHandling(); var name = string.Empty; while (name != "exit") { Console.WriteLine("Tell me your name:"); name = Console.ReadLine(); var fortuneTeller = new FortuneCookie(name); var fortune = fortuneTeller.TellMeMyFortune(); Console.WriteLine(fortune); } Console.WriteLine("Press a key to exit..."); Console.ReadLine(); }
public void Setup() { _dateTimeOffset = A.Fake <IDateTimeOffset>(); _fortuneCookie = new FortuneCookie(_dateTimeOffset); }