public void WhenGettingListOfPersons_AndListIsEmpty_ThenLoggerWritesThatNoPersonFound() { var mockLogger = TheLogger.Mock(); var repo = The.Repo().InMacFileSystem().Empty().With(mockLogger.Object).Please(); var mailing = The.Mailing().StoreIn(repo).With(mockLogger.Object).Please(); // act mailing.GetNextWeekCelebrants(1.JanuaryOf(1980)); mockLogger.Verify(x => x.Write("found 0 person(s)")); }
public void WhenAddingNewPerson_LoggerWritesHisNameAndBirthDayOnce() { var mockLogger = TheLogger.Mock(); var mailing = The.Mailing().StoreInMemory().With(mockLogger.Object).Please(); var homer = The.Person("Homer") .WithEmail("*****@*****.**") .Born(23.FebraryOf(1970)); // act mailing.AddRecipient(homer); mockLogger.Verify(x => x.Write("added Person: Homer 23.02.1970"), Times.Once()); }
public void WhenGettingListOfPersons_AndThereIsOnePerson_ThenLoggerWritesHisEmailNameAndBirthday() { var mockLogger = TheLogger.Mock(); var repo = The.Repo() .InMacFileSystem() .HasFile("/path/to/personfile.txt") .InIt(new[] { "*****@*****.**", "Homer", "1970/01/01" }) .With(mockLogger.Object) .Please(); var mailing = The.Mailing().StoreIn(repo).With(mockLogger.Object).Please(); mailing.GetNextWeekCelebrants(1.JanuaryOf(1980)); mockLogger.Verify(x => x.Write("found Person - email: [email protected] name: Homer birthday: 1970/01/01")); }
public void WhenGettingNextWeekCelebrants_ThenLoggerOnceWritesThatThereIsTwoPersons() { var mockLogger = TheLogger.Mock(); var mailing = The.Mailing().StoreInMemory().With(mockLogger.Object).Please(); var homer = The.Person("Homer") .WithEmail("*****@*****.**") .Born(1.FebraryOf(1970)); var marge = The.Person("Marge") .WithEmail("*****@*****.**") .Born(31.DecemberOf(1970)); mailing.AddRecipient(homer); mailing.AddRecipient(marge); mailing.GetNextWeekCelebrants(30.DecemberOf(2017)); mockLogger.Verify(x => x.Write("found 2 person(s)"), Times.Once()); }
public void WhenAddingNewPerson_AndListIsEmpty_ThenLoggerWritesFileName() { var mockLogger = TheLogger.Mock(); var repo = The.Repo() .InMacFileSystem() .Empty() .Write(new string[0]) .ToFile("/some/path.txt") .With(mockLogger.Object) .Please(); var mailing = The.Mailing().StoreIn(repo).With(mockLogger.Object).Please(); var homer = The.Person("Homer") .WithEmail("*****@*****.**") .Born(1.FebraryOf(1970)); // act mailing.AddRecipient(homer); // assert mockLogger.Verify(x => x.Write("filename: /some/path.txt")); }