public ExtractorExecutor(
     ILogger <ExtractorExecutor> logger,
     IApisClient apisClient,
     IApiExtractor apiExtractor,
     IApiVersionSetExtractor apiVersionSetExtractor,
     IAuthorizationServerExtractor authorizationServerExtractor,
     IBackendExtractor backendExtractor,
     ILoggerExtractor loggerExtractor,
     IMasterTemplateExtractor masterTemplateExtractor,
     IPolicyExtractor policyExtractor,
     IProductApisExtractor productApisExtractor,
     IProductExtractor productExtractor,
     IPropertyExtractor propertyExtractor,
     ITagApiExtractor apiTagExtractor,
     ITagExtractor tagExtractor,
     IGroupExtractor groupExtractor,
     IApiRevisionExtractor apiRevisionExtractor)
 {
     this.logger                       = logger;
     this.apisClient                   = apisClient;
     this.apiExtractor                 = apiExtractor;
     this.apiVersionSetExtractor       = apiVersionSetExtractor;
     this.authorizationServerExtractor = authorizationServerExtractor;
     this.backendExtractor             = backendExtractor;
     this.loggerExtractor              = loggerExtractor;
     this.masterTemplateExtractor      = masterTemplateExtractor;
     this.policyExtractor              = policyExtractor;
     this.productApisExtractor         = productApisExtractor;
     this.propertyExtractor            = propertyExtractor;
     this.productExtractor             = productExtractor;
     this.apiTagExtractor              = apiTagExtractor;
     this.tagExtractor                 = tagExtractor;
     this.groupExtractor               = groupExtractor;
     this.apiRevisionExtractor         = apiRevisionExtractor;
 }
 /// <summary>
 /// Allows to build ExtractorExecutor with only desired speficic extractors passed
 /// </summary>
 /// <returns>new ExtractorExecutor instance</returns>
 public static ExtractorExecutor BuildExtractorExecutor(
     ILogger <ExtractorExecutor> logger,
     IApisClient apisClient     = null,
     IApiExtractor apiExtractor = null,
     IApiVersionSetExtractor apiVersionSetExtractor             = null,
     IAuthorizationServerExtractor authorizationServerExtractor = null,
     IBackendExtractor backendExtractor = null,
     ILoggerExtractor loggerExtractor   = null,
     IMasterTemplateExtractor masterTemplateExtractor = null,
     IPolicyExtractor policyExtractor           = null,
     IProductApisExtractor productApisExtractor = null,
     IProductExtractor productExtractor         = null,
     IPropertyExtractor propertyExtractor       = null,
     ITagApiExtractor apiTagExtractor           = null,
     ITagExtractor tagExtractor                 = null,
     IGroupExtractor groupExtractor             = null,
     IApiRevisionExtractor apiRevisionExtractor = null)
 => new ExtractorExecutor(
     logger,
     apisClient,
     apiExtractor,
     apiVersionSetExtractor,
     authorizationServerExtractor,
     backendExtractor,
     loggerExtractor,
     masterTemplateExtractor,
     policyExtractor,
     productApisExtractor,
     productExtractor,
     propertyExtractor,
     apiTagExtractor,
     tagExtractor,
     groupExtractor,
     apiRevisionExtractor);
Exemplo n.º 3
0
 protected Filter(
     string elementName, ISet <TProperty> properties, IPropertyExtractor <TExtractedProperty> extractor)
 {
     ElementName = elementName;
     Properties  = properties;
     Extractor   = extractor;
 }
 public void TestWheelHasDotFeature()
 {
     wheelToTest.DotNumber = 2010;
     extractor             = new PrestoshopWheelPropertyExtractor(wheelToTest, 2, "");
     testValue             = extractor.GetArticleFeatures();
     Assert.IsTrue(testValue.Contains("DOT:2010:8:"));
 }
 public void TestSummerCategory()
 {
     wheelToTest.IsMudSnow = false;
     wheelToTest.IsWinter = false;
     extractor = new PrestoshopWheelPropertyExtractor(wheelToTest, 2, "");
     testValue = extractor.GetCategory();
     Check(CSVConstants.SummerWheelCategoryName);
 }
 public void TestAllYearWheelCategory()
 {
     wheelToTest.IsMudSnow = true;
     wheelToTest.IsWinter  = false;
     extractor             = new PrestoshopWheelPropertyExtractor(wheelToTest, 2, "");
     testValue             = extractor.GetCategory();
     Check(CSVConstants.AllYearWheelCategoryName);
 }
Exemplo n.º 7
0
        public void TestIdOfArticleWithNullValues()
        {
            testArticle.Description2 = null;
            extractor = new PrestoshopPropertyExtractor(testArticle, 2);
            var testValue = extractor.GetArticleId();

            Assert.AreEqual(testArticle.Description, testValue);
        }
        private static IEnumerable <MustBeFilter <T> > LearnMustBeRule <T>(
            string elementName, IPropertyExtractor <T> extractor, IEnumerable <XElement> accepted)
        {
            var acceptedProperties = accepted.Select(extractor.ExtractProperty).ToHashSet();

            if (!acceptedProperties.IsEmpty())
            {
                yield return(new MustBeFilter <T>(elementName, acceptedProperties, extractor));
            }
        }
        private static IEnumerable <MustHaveFilter <T> > LearnMustNotBeRule <T>(
            string elementName, IPropertyExtractor <IEnumerable <T> > extractor, IEnumerable <XElement> accepted)
        {
            var acceptedProperties = accepted.Select(extractor.ExtractProperty)
                                     .Aggregate((acc, values) => acc.Intersect(values))
                                     .ToHashSet();

            if (!acceptedProperties.IsEmpty())
            {
                yield return(new MustHaveFilter <T>(elementName, acceptedProperties, extractor));
            }
        }
        private static IEnumerable <MustNotHaveFilter <T> > LearnMustNotHaveRule <T>(
            string elementName, IPropertyExtractor <IEnumerable <T> > extractor, IEnumerable <XElement> accepted,
            IEnumerable <XElement> denied)
        {
            var acceptedProperties = accepted.SelectMany(extractor.ExtractProperty).ToHashSet();
            var deniedProperties   = denied.SelectMany(extractor.ExtractProperty).ToHashSet();

            deniedProperties.ExceptWith(acceptedProperties);
            if (!deniedProperties.IsEmpty())
            {
                yield return(new MustNotHaveFilter <T>(elementName, deniedProperties, extractor));
            }
        }
 public void TestWheelHasDotFeature()
 {
     wheelToTest.DotNumber = 2010;
     extractor = new PrestoshopWheelPropertyExtractor(wheelToTest, 2, "");
     testValue = extractor.GetArticleFeatures();
     Assert.IsTrue(testValue.Contains("DOT:2010:8:"));
 }
 public void SetupWheelPropertyExtractor()
 {
     testValue   = "";
     wheelToTest = GetWheelToTest();
     extractor   = new PrestoshopWheelPropertyExtractor(wheelToTest, 2, Placeholder.WheelPlaceholder.WheelCrossSectionPlaceholder);
 }
Exemplo n.º 13
0
 public MustHaveFilter(
     string elementName, ISet <T> properties, IPropertyExtractor <IEnumerable <T> > extractor)
     : base(elementName, properties, extractor)
 {
 }
 public void TestIdOfArticleWithNullValues()
 {
     testArticle.Description2 = null;
     extractor = new PrestoshopPropertyExtractor(testArticle, 2);
     var testValue = extractor.GetArticleId();
     Assert.AreEqual(testArticle.Description, testValue);
 }
 private void InitExtractor()
 {
     extractor = new PrestoshopPropertyExtractor(testArticle, 2);
 }
 public MustBeFilter(string elementName, ISet <T> properties, IPropertyExtractor <T> extractor)
     : base(elementName, properties, extractor)
 {
 }
Exemplo n.º 17
0
 public PrestashopCSVLine(IPropertyExtractor propertyExtractor)
 {
     this.propertyExtractor = propertyExtractor;
 }
 public void SetupWheelPropertyExtractor()
 {
     testValue = "";
     wheelToTest = GetWheelToTest();
     extractor = new PrestoshopWheelPropertyExtractor(wheelToTest, 2, Placeholder.WheelPlaceholder.WheelCrossSectionPlaceholder);
 }
Exemplo n.º 19
0
 private void InitExtractor()
 {
     extractor = new PrestoshopPropertyExtractor(testArticle, 2);
 }
 public PagePropertyObject(string value)
 {
     Extractor = PropertyExtractorFactory.GetPropertyExtractor(value, out var selector);
     Selector  = selector;
 }
Exemplo n.º 21
0
 public PrestashopCSVLine(IPropertyExtractor propertyExtractor)
 {
     this.propertyExtractor = propertyExtractor;
 }