Ejemplo n.º 1
0
        public void Subscriptions_are_built_for_object_method_based()
        {
            var builder = new MethodScanner("Handle").MakeBuilder();
            var subs    = builder.BuildSubscriptions(new SomeHandler());

            subs.ShouldNotBeNull();
            subs.ShouldHaveCount(1);
        }
Ejemplo n.º 2
0
        public void publishing_method_subscription_correct_returns_known_instance()
        {
            var h    = new SomeHandler();
            var sb   = new MethodScanner("Route").MakeBuilder();
            var subs = sb.BuildSubscriptions(h).OfType <IKnowsSubscribedInstance>().ToList();

            subs.ShouldHaveCount(1);
            subs.All(s => s.Instance.Equals(h)).ShouldBeTrue("Not all known instances are the correct one");
        }
Ejemplo n.º 3
0
        public void Subscriptions_for_object_method_based_work_correctly()
        {
            var builder      = new MethodScanner("Handle").MakeBuilder();
            var handler      = new SomeHandler();
            var subs         = builder.BuildSubscriptions(handler);
            var subscription = subs.First();

            subscription.Handles(typeof(MessageA)).ShouldBeTrue();
            subscription.Push(new MessageA());
            handler.MsgACalls.ShouldBeEqualTo(1);
        }
        public void Adapter_subscriptions_can_also_be_disposed()
        {
            var b             = new MethodScanner("Handle").MakeBuilder();
            var disposableSub = new DisposableSubscription(b.BuildSubscriptions(new SomeHandler()).First());
            ISubscriptionResolver resolver = new CompositeSubscription();

            resolver.Add(disposableSub);

            var subs = resolver.GetSubscriptionsFor(new MessageA());

            subs.ShouldHaveCount(1);

            disposableSub.GetDisposer().Dispose();

            subs = resolver.GetSubscriptionsFor(new MessageA());
            subs.ShouldHaveCount(0);
        }