public void ValidarSubAsync()
        {
            TestResolver resolver = new TestResolver();

            resolver.subscribe = new AsyncSubscribe();

            hubEvent.Subscribe <EventAEx, AsyncSubscribe>();
            hubEvent.SetResolver(resolver);

            var eventEx = new EventAEx();

            PostManManager.Raise(eventEx);

            var events = PostManManager.Events <EventAEx>().ToList();

            Assert.AreEqual(1, events.Count);
            Assert.AreEqual(1, events.Single().Results.Count);

            var result = events.Single().Results.Single();

            Assert.IsTrue(result.State == ResultEventState.Running);

            ((AsyncSubscribe)resolver.subscribe).Running = false;

            Thread.Sleep(2000);
            Assert.IsTrue(result.State == ResultEventState.Completed);
        }
        public void PublicacaoParaMesmoEvento()
        {
            hubEvent.Subscribe <EventAEx, SubscribeA>();

            hubEvent.Subscribe <EventAEx, SubscribeB>();

            var eventEx = new EventAEx();

            PostManManager.Raise(eventEx);

            var events = PostManManager.Events <EventAEx>().ToList();

            Assert.AreEqual(1, events.Count);
            Assert.AreEqual(2, events.Single().Results.Count);
        }
        public void ValidarSubSync()
        {
            hubEvent.Subscribe <EventAEx, SyncSubscribe>();

            var eventEx = new EventAEx();

            PostManManager.Raise(eventEx);

            var events = PostManManager.Events <EventAEx>().ToList();

            Assert.AreEqual(1, events.Count);
            Assert.AreEqual(1, events.Single().Results.Count);

            var result = events.Single().Results.Single();

            Assert.IsTrue(result.State == ResultEventState.Completed);
        }
        public void ExecutarComSubscribeSimples()
        {
            hubEvent.Subscribe <EventAEx, SubscribeA>();

            var eventEx = new EventAEx();

            PostManManager.Raise(eventEx);

            var events = PostManManager.Events <EventAEx>().ToList();

            Assert.AreEqual(1, events.Count);
            Assert.AreEqual(1, events.Single().Results.Count);

            var result = events.Single().Results.Single();

            Assert.IsTrue(result.State == ResultEventState.Completed);
            Assert.IsTrue(result.Subscribe is SubscribeA);
            Assert.AreEqual(eventEx, result.Event);
            Assert.AreEqual(0, result.Exceptions.Count);
        }
        public void RemoverSubscricao()
        {
            hubEvent.Subscribe <EventAEx, SubscribeA>();

            hubEvent.Subscribe <EventAEx, SubscribeB>();
            hubEvent.Subscribe <EventBEx, SubscribeB>();

            hubEvent.Unsubscribe <EventAEx, SubscribeB>();

            var eventAEx = new EventAEx();

            PostManManager.Raise(eventAEx);

            var eventBEx = new EventBEx();

            PostManManager.Raise(eventBEx);

            var eventsA = PostManManager.Events <EventAEx>().ToList();
            var eventsB = PostManManager.Events <EventBEx>().ToList();

            Assert.AreEqual(1, eventsA.Single().Results.Count);
            Assert.AreEqual(1, eventsB.Single().Results.Count);
        }