コード例 #1
0
        public void SubscribeCallCallsServerProxySubscribe(string topicUri)
        {
            MockWampPubSubRequestManager <MockRaw> requestManager =
                new MockWampPubSubRequestManager <MockRaw>();

            WampPubSubClientFactory <MockRaw> clientFactory = GetClientFactory(requestManager);

            ISubject <object> subject = clientFactory.GetSubject <object>(topicUri, DummyConnection <MockRaw> .Instance);

            IDisposable cancelation = subject.Subscribe(x => { });

            Assert.That(requestManager.SubscriptionRemovals, Is.Empty);
            Assert.That(requestManager.Publications, Is.Empty);
            Assert.That(requestManager.Subscriptions.Count, Is.EqualTo(1));

            WampSubscribeRequest <MockRaw> subscription =
                requestManager.Subscriptions.First();

            Assert.That(subscription.TopicUri, Is.EqualTo(topicUri));
        }
コード例 #2
0
        public void ClientEventCallsObserverOnNext(string topicUri, object @event)
        {
            MockWampPubSubRequestManager <MockRaw> requestManager =
                new MockWampPubSubRequestManager <MockRaw>();

            WampPubSubClientFactory <MockRaw> clientFactory = GetClientFactory(requestManager);

            ISubject <object> subject = clientFactory.GetSubject <object>(topicUri, DummyConnection <MockRaw> .Instance);

            List <object> events      = new List <object>();
            IDisposable   cancelation = subject.Subscribe(x => events.Add(x));

            WampSubscribeRequest <MockRaw> subscription =
                requestManager.Subscriptions.First();

            subscription.Client.Event(topicUri, new MockRaw(@event));

            Assert.That(events.Count, Is.EqualTo(1));
            Assert.That(events[0], Is.EqualTo(@event));
        }
コード例 #3
0
        public void OnCompletedCallCallsServerProxyUnsubscribe(string topicUri)
        {
            MockWampPubSubRequestManager <MockRaw> requestManager =
                new MockWampPubSubRequestManager <MockRaw>();

            WampPubSubClientFactory <MockRaw> clientFactory = GetClientFactory(requestManager);

            ISubject <object> subject = clientFactory.GetSubject <object>(topicUri, DummyConnection <MockRaw> .Instance);

            bool        onCompleted = false;
            IDisposable cancelation = subject.Subscribe(x => { });

            Assert.That(requestManager.SubscriptionRemovals.Count, Is.EqualTo(0));
            subject.OnCompleted();
            Assert.That(requestManager.SubscriptionRemovals.Count, Is.EqualTo(1));

            WampSubscribeRequest <MockRaw> removal =
                requestManager.SubscriptionRemovals.First();

            Assert.That(removal.TopicUri, Is.EqualTo(topicUri));
        }