Example #1
0
        public async Task CalculateAsync_WhenCalled_AssertCalculateAsyncWasNotCalledOnAnyPostingLineWhereStatusDateMatchesStatusDateFromArgument()
        {
            IPostingLineCollection sut = CreateSut();

            DateTime statusDate = DateTime.Now.AddDays(_random.Next(1, 365) * -1);
            IEnumerable <Mock <IPostingLine> > postingLineMockCollection = new List <Mock <IPostingLine> >
            {
                _fixture.BuildPostingLineMock(statusDate: statusDate),
                _fixture.BuildPostingLineMock(statusDate: statusDate),
                _fixture.BuildPostingLineMock(statusDate: statusDate),
                _fixture.BuildPostingLineMock(statusDate: statusDate),
                _fixture.BuildPostingLineMock(statusDate: statusDate),
                _fixture.BuildPostingLineMock(statusDate: statusDate),
                _fixture.BuildPostingLineMock(statusDate: statusDate)
            };

            sut.Add(postingLineMockCollection.Select(postingLineMock => postingLineMock.Object).ToArray());

            await sut.CalculateAsync(statusDate);

            foreach (Mock <IPostingLine> postingLineMock in postingLineMockCollection)
            {
                postingLineMock.Verify(m => m.CalculateAsync(It.IsAny <DateTime>()), Times.Never);
            }
        }
Example #2
0
        public async Task CalculateAsync_WhenCalled_AssertStatusDateWasCalledTreeTimesOnEachPostingLine()
        {
            IPostingLineCollection sut = CreateSut();

            IEnumerable <Mock <IPostingLine> > postingLineMockCollection = new List <Mock <IPostingLine> >
            {
                _fixture.BuildPostingLineMock(statusDate: DateTime.MinValue),
                _fixture.BuildPostingLineMock(statusDate: DateTime.MinValue),
                _fixture.BuildPostingLineMock(statusDate: DateTime.MinValue),
                _fixture.BuildPostingLineMock(statusDate: DateTime.MinValue),
                _fixture.BuildPostingLineMock(statusDate: DateTime.MinValue),
                _fixture.BuildPostingLineMock(statusDate: DateTime.MinValue),
                _fixture.BuildPostingLineMock(statusDate: DateTime.MinValue)
            };

            sut.Add(postingLineMockCollection.Select(postingLineMock => postingLineMock.Object).ToArray());

            DateTime statusDate = DateTime.Now.AddDays(_random.Next(1, 365) * -1);
            await sut.CalculateAsync(statusDate);

            foreach (Mock <IPostingLine> postingLineMock in postingLineMockCollection)
            {
                postingLineMock.Verify(m => m.StatusDate, Times.Exactly(3));
            }
        }
Example #3
0
        public async Task CalculateAsync_WhenCalledMultipleTimesWithSameStatusDate_AssertCalculateAsyncWasCalledOnEachPostingLineWhereStatusDateDoesNotMatchStatusDateFromArgument()
        {
            IPostingLineCollection sut = CreateSut();

            IEnumerable <Mock <IPostingLine> > postingLineMockCollection = new List <Mock <IPostingLine> >
            {
                _fixture.BuildPostingLineMock(statusDate: DateTime.MinValue),
                _fixture.BuildPostingLineMock(statusDate: DateTime.MinValue),
                _fixture.BuildPostingLineMock(statusDate: DateTime.MinValue),
                _fixture.BuildPostingLineMock(statusDate: DateTime.MinValue),
                _fixture.BuildPostingLineMock(statusDate: DateTime.MinValue),
                _fixture.BuildPostingLineMock(statusDate: DateTime.MinValue),
                _fixture.BuildPostingLineMock(statusDate: DateTime.MinValue)
            };

            sut.Add(postingLineMockCollection.Select(postingLineMock => postingLineMock.Object).ToArray());

            DateTime statusDate = DateTime.Now.AddDays(_random.Next(1, 365) * -1);

            await(await(await sut.CalculateAsync(statusDate)).CalculateAsync(statusDate)).CalculateAsync(statusDate);

            foreach (Mock <IPostingLine> postingLineMock in postingLineMockCollection)
            {
                postingLineMock.Verify(m => m.CalculateAsync(It.Is <DateTime>(value => value == statusDate.Date)), Times.Once);
            }
        }
Example #4
0
        public async Task CalculateAsync_WhenCalled_ReturnsSamePostingLineCollection()
        {
            IPostingLineCollection sut = CreateSut();

            IPostingLineCollection result = await sut.CalculateAsync(DateTime.Now.AddDays(_random.Next(1, 365) * -1));

            Assert.That(result, Is.SameAs(sut));
        }
Example #5
0
        public async Task CalculateAsync_WhenCalledMultipleTimesWithSameStatusDate_ReturnsSamePostingLineCollection()
        {
            IPostingLineCollection sut = CreateSut();

            DateTime statusDate           = DateTime.Now.AddDays(_random.Next(1, 365) * -1);
            IPostingLineCollection result = await(await(await sut.CalculateAsync(statusDate)).CalculateAsync(statusDate)).CalculateAsync(statusDate);

            Assert.That(result, Is.SameAs(sut));
        }
Example #6
0
        public async Task CalculateAsync_WhenCalled_ReturnsSamePostingLineCollectionWhereStatusDateEqualDateFromCall()
        {
            IPostingLineCollection sut = CreateSut();

            DateTime statusDate           = DateTime.Now.AddDays(_random.Next(1, 365) * -1);
            IPostingLineCollection result = await sut.CalculateAsync(statusDate);

            Assert.That(result.StatusDate, Is.EqualTo(statusDate.Date));
        }