public void Scan_CosmosAndElastic_ShouldDetectIssuesCorrectly(string cosmosActivities, string elasticActivities, params ActivityDiscrepancyType[] expectedDiscrepancyTypes)
 {
     var fixtures = new ActivityDiscrepancyFinderTestFixtures()
                    .AddCosmosPage(cosmosActivities)
                    .AddElasticPage(elasticActivities)
                    .RunScan(500)
                    .AssertResultCount(expectedDiscrepancyTypes.Length)
                    .AssertResultIssues(expectedDiscrepancyTypes);
 }
        public void Scan_VariousPageSizes_ShouldCallElasticPagerFunctionCorrectNumberOfTimes(int numberOfPages, int pageSize, int lastPageSize)
        {
            var expectedNumberOfElasticCalls = numberOfPages + (lastPageSize < pageSize ? 0 : 1);

            var fixtures = new ActivityDiscrepancyFinderTestFixtures()
                           .AddElasticPages(numberOfPages, pageSize, lastPageSize)
                           .RunScan(pageSize)
                           .AssertElasticPageCallCount(expectedNumberOfElasticCalls);
        }
        public void Scan_VariousPageSizes_ShouldCallCosmosPagerFunctionCorrectNumberOfTimes(int numberOfPages, int pageSize, int lastPageSize)
        {
            var expectedNumberOfCosmosCalls = numberOfPages;

            if (lastPageSize > pageSize)
            {
                throw new ArgumentException($"last page can only be a full page or partial page - it cannot be larger than a full page");
            }

            var fixtures = new ActivityDiscrepancyFinderTestFixtures()
                           .AddCosmosPages(numberOfPages, pageSize, lastPageSize)
                           .RunScan(pageSize)
                           .AssertCosmosPageCallCount(expectedNumberOfCosmosCalls);
        }
        public void Constructor_Valid_ShouldSucceed()
        {
            var fixtures = new ActivityDiscrepancyFinderTestFixtures();

            var finder = fixtures.CreateActivityDiscrepancyFinder();
        }