Exemple #1
0
        public void Should_GetCoverletExePath_From_First_That_Returns_Non_Null(int providingExeProvider)
        {
            var coverageProject  = new Mock <ICoverageProject>().Object;
            var coverletSettings = "coverlet settings";

            List <ExecuteRequest> executeRequests = new List <ExecuteRequest>
            {
                new ExecuteRequest(),
                new ExecuteRequest(),
                new ExecuteRequest(),
                new ExecuteRequest()
            };

            ExecuteRequest GetExecuteRequest(int order)
            {
                if (order != providingExeProvider)
                {
                    return(null);
                }
                return(executeRequests[order]);
            };

            var mockLocalExecutor              = new Mock <ICoverletConsoleExecutor>();
            var mockCustomPathExecutor         = new Mock <ICoverletConsoleExecutor>();
            var mockGlobalExecutor             = new Mock <ICoverletConsoleExecutor>();
            var mockFCCCoverletConsoleExecutor = new Mock <IFCCCoverletConsoleExecutor>();
            var mockFCCExecutor = mockFCCCoverletConsoleExecutor.As <ICoverletConsoleExecutor>();
            var mockExecutors   = new List <Mock <ICoverletConsoleExecutor> >
            {
                mockLocalExecutor,
                mockCustomPathExecutor,
                mockGlobalExecutor,
                mockFCCExecutor
            };
            var callOrder = new List <int>();

            for (var i = 0; i < mockExecutors.Count; i++)
            {
                var order           = i;
                var mockExeProvider = mockExecutors[i];
                mockExeProvider.Setup(p => p.GetRequest(coverageProject, coverletSettings)).Returns(GetExecuteRequest(i)).Callback <ICoverageProject, string>((_, __) =>
                {
                    callOrder.Add(order);
                });
            }

            var coverletConsoleUtil = new CoverletConsoleUtil(null, null, mockGlobalExecutor.Object, mockCustomPathExecutor.Object, mockLocalExecutor.Object, mockFCCCoverletConsoleExecutor.Object);

            var executeRequest = coverletConsoleUtil.GetExecuteRequest(coverageProject, coverletSettings);

            Assert.AreSame(GetExecuteRequest(providingExeProvider), executeRequest);
            Assert.AreEqual(providingExeProvider + 1, callOrder.Count);
            var previousCallOrder = -1;

            foreach (var call in callOrder)
            {
                Assert.AreEqual(call - previousCallOrder, 1);
                previousCallOrder = call;
            }
        }
Exemple #2
0
 public void SetUp()
 {
     mocker = new AutoMoqer();
     coverletConsoleUtil = mocker.Create <CoverletConsoleUtil>();
 }