public void When_discovering_commands_using_reflection_callback_is_invoked_with_discovered_mapping()
        {
            var subscriberRegistry = new SubscriberRegistry();
            var discoveredHandlers = new [] { typeof(ADiscoveredHandlerThatUsesTheBaseImplementation) };

            SubscriberRegistryExtensions.DiscoveredPair callbackPair = null;
            subscriberRegistry.RegisterCommandHandlers(discoveredHandlers, onDiscovery: pair =>
            {
                callbackPair = pair;
            });

            callbackPair.Command.ShouldBeEquivalentTo(typeof(ADiscoveredHandlerThatUsesTheBaseImplementationCommand));
            callbackPair.CommandHandler.ShouldBeEquivalentTo(typeof(ADiscoveredHandlerThatUsesTheBaseImplementation));

            subscriberRegistry.ToList()[0].Key.ShouldBeEquivalentTo(typeof(ADiscoveredHandlerThatUsesTheBaseImplementationCommand));
            subscriberRegistry.ToList()[0].Value[0].ShouldBeEquivalentTo(typeof(ADiscoveredHandlerThatUsesTheBaseImplementation));
        }