Beispiel #1
0
        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)"));
        }
Beispiel #2
0
        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());
        }
Beispiel #3
0
        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"));
        }
Beispiel #4
0
        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());
        }
Beispiel #5
0
        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"));
        }