public static void SetDefaultCollectionProcessorFactory(
     this SpecFlowContext context,
     CollectionProcessorFactory factory)
 {
     AddDefaultCollectionProcessorFactories(context);
     context.Set(factory, "__defaultCollectionProcessorFactory__");
 }
        public static void AddCollectionProcessorFactory(
            this SpecFlowContext context,
            CollectionProcessorFactory factory)
        {
            AddDefaultCollectionProcessorFactories(context);
            Dictionary <string, CollectionProcessorFactory> lookup = GetCollectionProcessorFactoryLookup(context);

            factory.CollectionKindNames.ForEach(n => lookup[n] = factory);
        }
Exemple #3
0
        public ITypeProcessor GetCollectionProcessorFor(string collectionKind, IValueProcessor processor)
        {
            if (processor == null)
            {
                return(null);
            }

            CollectionProcessorFactory factory = !string.IsNullOrEmpty(collectionKind)
                ? _context.GetCollectionProcessorFactory(collectionKind)
                : _context.GetDefaultCollectionProcessorFactory();

            //Console.WriteLine($"***** Got processor factory: {factory?.GetType().Name}");

            if (factory == null)
            {
                throw new Exception($"No registered CollectionProcessor for: {collectionKind}.");
            }

            return(factory.Create(processor));
        }