Exemple #1
0
        public void Dispose_Positive_WithProgressBar()
        {
            const int index = 1;
            const int expectedTotalTicks = 5;
            var       gitHubServiceMock  = Mock.Create <IGitHubService>();

            var progressBarMock = Mock.Create <IProgressBar>();

            Mock.Arrange(() => progressBarMock.Report((double)index / expectedTotalTicks)).DoNothing().OccursOnce();
            Mock.Arrange(() => progressBarMock.Dispose()).DoNothing().Occurs(2);

            var createProgressBarTotalCalls = 0;

            IProgressBar CreateProgressBar(int actualTotalTicks)
            {
                createProgressBarTotalCalls++;
                Assert.Equal(expectedTotalTicks, actualTotalTicks);
                return(progressBarMock);
            }

            var service = new CliService(
                null, gitHubServiceMock, null, CreateProgressBar, null);

            Mock.Raise(() => gitHubServiceMock.RepositoryCheckedStarted  += null, expectedTotalTicks);
            Mock.Raise(() => gitHubServiceMock.RepositoryChecked         += null, new RepositoryCheckedArgs(index, expectedTotalTicks));
            Mock.Raise(() => gitHubServiceMock.RepositoryCheckedFinished += null);
            service.Dispose();
            Mock.Raise(() => gitHubServiceMock.RepositoryCheckedStarted  += null, expectedTotalTicks);
            Mock.Raise(() => gitHubServiceMock.RepositoryChecked         += null, new RepositoryCheckedArgs(index, expectedTotalTicks));
            Mock.Raise(() => gitHubServiceMock.RepositoryCheckedFinished += null);

            Assert.Equal(1, createProgressBarTotalCalls);
            Mock.Assert(progressBarMock);
        }
Exemple #2
0
        public void Dispose_Positive_WithoutProgressBar(
            Func <int, int[], Func <int, IProgressBar> > factoryOfProgressBarFactory, int expectedNumCalls)
        {
            const int index = 1;
            const int expectedTotalTicks = 5;
            var       gitHubServiceMock  = Mock.Create <IGitHubService>();
            var       actualNumCalls     = new[] { 0 };
            var       service            = new CliService(
                null,
                gitHubServiceMock,
                null,
                factoryOfProgressBarFactory(expectedTotalTicks, actualNumCalls),
                null);

            Mock.Raise(() => gitHubServiceMock.RepositoryCheckedStarted  += null, expectedTotalTicks);
            Mock.Raise(() => gitHubServiceMock.RepositoryChecked         += null, new RepositoryCheckedArgs(index, expectedTotalTicks));
            Mock.Raise(() => gitHubServiceMock.RepositoryCheckedFinished += null);
            service.Dispose();
            Mock.Raise(() => gitHubServiceMock.RepositoryCheckedStarted  += null, expectedTotalTicks);
            Mock.Raise(() => gitHubServiceMock.RepositoryChecked         += null, new RepositoryCheckedArgs(index, expectedTotalTicks));
            Mock.Raise(() => gitHubServiceMock.RepositoryCheckedFinished += null);

            Assert.Equal(expectedNumCalls, actualNumCalls[0]);
        }