public static void RegisterProcessor(this IUnityContainer container, FileProcessorEndpoint endpoint)
        {
            endpoint.Validate();

            // Register the endpoint instance under the name, needed for the processor
            container.RegisterInstance(endpoint.Name, endpoint);

            // create file processor configurator instance and invoke
            var typeResolver = container.Resolve<ITypeResolver>();
            var fileProcessorRegistrar = typeResolver.Resolve<IFileProcessorRegistrar>(endpoint.ProcessorConfigurator);
            fileProcessorRegistrar.Register(container, endpoint);
        }
 public void TestValidate(string name, string processConfigurator, string inProgressPath, bool expectException)
 {
     var failSuffix = name + ", " + processConfigurator + ", " + inProgressPath;
     try
     {
         var endpoint = new FileProcessorEndpoint { Name = name, ProcessorConfigurator = processConfigurator, InProgressPath = inProgressPath };
         var candidate = endpoint.Validate();
         if (expectException)
         {
             Assert.Fail("expected Exception was not thrown : " + failSuffix);
         }
         Assert.IsTrue(candidate);
     }
     catch (NotSupportedException)
     {
         if (!expectException)
         {
             Assert.Fail("Exception was thrown but not expected : " + failSuffix);
         }
     }
 }