public interface ICommandHandler<T1, T2> { }
public interface IReadCommand<T> { }
public abstract class ReadCommandHandler<TEntity, TFilter> : ICommandHandler<IReadCommand<TFilter>, IEnumerable<TEntity>>
where TEntity : Entity
where TFilter : Filter { }
public class ReadCommandHandler1 : ReadCommandHandler<MyEntity, MyFilter> { }
[Test]
public void Resolve_ICommandHandler_NotNull()
{
// Arrange.
var container = new WindsorContainer();
container.Register(Classes.FromThisAssembly().BasedOn(typeof(ICommandHandler<,>)).WithService.AllInterfaces());
// Act.
var result = container.Resolve<ICommandHandler<IReadCommand<MyFilter>, IEnumerable<MyEntity>>>();
// Assert.
Assert.That(result, Is.Not.Null);
}
}