/// <summary>
 /// Helper method used to create a share usage instance.
 /// </summary>
 private void CreateShareUsage(double sharePercentage,
                               int minimumEntriesPerMessage,
                               int interval,
                               List <string> blockedHeaders,
                               List <string> includedQueryStringParams,
                               List <KeyValuePair <string, string> > ignoreDataEvidenceFiler,
                               bool shareAll = false)
 {
     _sequenceElement = new SequenceElement(new Mock <ILogger <SequenceElement> >().Object);
     _sequenceElement.AddPipeline(_pipeline.Object);
     _shareUsageElement = new ShareUsageElement(
         _logger.Object,
         _httpClient,
         sharePercentage,
         minimumEntriesPerMessage,
         minimumEntriesPerMessage * 2,
         100,
         100,
         interval,
         true,
         "http://51Degrees.com/test",
         blockedHeaders,
         includedQueryStringParams,
         ignoreDataEvidenceFiler,
         Engines.Constants.DEFAULT_ASP_COOKIE_NAME,
         _tracker.Object,
         shareAll);
     _shareUsageElement.AddPipeline(_pipeline.Object);
 }
        public void ShareUsageBuilder_IgnoreData_ValidFilter(string config)
        {
            var logger = new TestLogger();

            ShareUsageBuilder builder = new ShareUsageBuilder(new TestLoggerFactory(), logger, _httpClient);
            ShareUsageElement element = builder.SetSharePercentage(1)
                                        .SetMinimumEntriesPerMessage(1)
                                        .SetRepeatEvidenceIntervalMinutes(1)
                                        .SetIgnoreFlowDataEvidenceFilter(config)
                                        .Build();

            Assert.IsTrue(logger.WarningsLogged.Count == 0);
            Assert.IsTrue(logger.ErrorsLogged.Count == 0);
        }