private IExportFactory<IRuntimeElementInfoFactory, RuntimeElementInfoFactoryMetadata> CreateElementInfoFactory(IRuntimeElementInfoFactory factory) { var metadata = new RuntimeElementInfoFactoryMetadata(typeof(IClassifierInfo), typeof(TypeInfo)); var exportFactory = new ExportFactoryAdapter<IRuntimeElementInfoFactory, RuntimeElementInfoFactoryMetadata>( () => Tuple.Create(factory, (Action)null), metadata); return exportFactory; }
private IExportFactory<IRequestProcessingFilter, RequestProcessingFilterMetadata> CreateFilterFactory( Func<IProcessingContext, CancellationToken, Task> beforeFunc = null, Func<IProcessingContext, CancellationToken, Task> afterFunc = null, Type requestType = null, int processingPriority = 0, Priority overridePriority = Priority.Normal) { requestType = requestType ?? typeof(IRequest); beforeFunc = beforeFunc ?? ((c, t) => TaskHelper.EmptyTask<bool>()); afterFunc = afterFunc ?? ((c, t) => TaskHelper.EmptyTask<bool>()); var filter = Mock.Create<IRequestProcessingFilter>(); filter.Arrange(f => f.BeforeProcessAsync(Arg.IsAny<IProcessingContext>(), Arg.IsAny<CancellationToken>())) .Returns(beforeFunc); filter.Arrange(f => f.AfterProcessAsync(Arg.IsAny<IProcessingContext>(), Arg.IsAny<CancellationToken>())) .Returns(afterFunc); var factory = new ExportFactoryAdapter<IRequestProcessingFilter, RequestProcessingFilterMetadata>( () => Tuple.Create(filter, (Action)(() => { })), new RequestProcessingFilterMetadata(requestType, processingPriority, overridePriority)); return factory; }