예제 #1
0
        public void MultipleSubscribersTest()
        {
            AGSEvent <MockEventArgs> ev = new AGSEvent <MockEventArgs> ();

            ev.Subscribe(onEvent);
            ev.Subscribe(e => onEvent(e));
            ev.SubscribeToAsync(onEventAsyncWithBlockingInvoke);
            ev.SubscribeToAsync(async e => await onEventAsyncWithBlockingInvoke(e));
            ev.Invoke(new MockEventArgs(x));
            Assert.AreEqual(2, syncEvents);
            Assert.AreEqual(2, asyncEvents);
        }
예제 #2
0
        public void MultipleSubscribersTest()
        {
            AGSEvent <MockEventArgs> ev = new AGSEvent <MockEventArgs> ();

            ev.Subscribe(onEvent);
            ev.Subscribe((sender, e) => onEvent(sender, e));
            ev.SubscribeToAsync(onEventAsync);
            ev.SubscribeToAsync(async(sender, e) => await onEventAsync(sender, e));
            ev.Invoke(this, new MockEventArgs(x));
            Assert.AreEqual(2, syncEvents);
            Assert.AreEqual(2, asyncEvents);
        }
예제 #3
0
        public async Task MultipleSubscribersAsyncTest()
        {
            AGSEvent <MockEventArgs> ev = new AGSEvent <MockEventArgs> ();

            ev.Subscribe(onEvent);
            ev.Subscribe(e => onEvent(e));
            ev.SubscribeToAsync(onEventAsync);
            ev.SubscribeToAsync(async e => await onEventAsync(e));
            await ev.InvokeAsync(new MockEventArgs(x));

            Assert.AreEqual(2, syncEvents);
            Assert.AreEqual(2, asyncEvents);
        }
예제 #4
0
		public async Task SingleAsyncSubscriberAsyncTest ()
		{
			AGSEvent<MockEventArgs> ev = new AGSEvent<MockEventArgs> ();
			ev.SubscribeToAsync (onEventAsync);
			await ev.InvokeAsync (this, new MockEventArgs(x));
			Assert.AreEqual (0, syncEvents);
			Assert.AreEqual (1, asyncEvents);
		}
예제 #5
0
        public void SubscribeUnsubscribeAsyncTest()
        {
            AGSEvent <MockEventArgs> ev = new AGSEvent <MockEventArgs> ();

            ev.SubscribeToAsync(onEventAsync);
            ev.UnsubscribeToAsync(onEventAsync);
            Assert.AreEqual(0, ev.SubscribersCount);
        }
예제 #6
0
        public void SingleAsyncSubscriberTest()
        {
            AGSEvent <MockEventArgs> ev = new AGSEvent <MockEventArgs> ();

            ev.SubscribeToAsync(onEventAsync);
            ev.Invoke(this, new MockEventArgs(x));
            Assert.AreEqual(0, syncEvents);
            Assert.AreEqual(1, asyncEvents);
        }
예제 #7
0
        public void SubscribeUnsubscribeOnDifferentTargetAsyncTest()
        {
            AGSEvent <MockEventArgs> ev = new AGSEvent <MockEventArgs> ();

            ev.SubscribeToAsync(onEventAsync);
            EventTests target2 = new EventTests();

            ev.UnsubscribeToAsync(target2.onEventAsync);
            Assert.AreEqual(1, ev.SubscribersCount);
        }
예제 #8
0
        public async Task SingleAsyncSubscriberAsyncTest()
        {
            AGSEvent <MockEventArgs> ev = new AGSEvent <MockEventArgs> ();

            ev.SubscribeToAsync(onEventAsync);
            await ev.InvokeAsync(new MockEventArgs(x));

            Assert.AreEqual(0, syncEvents);
            Assert.AreEqual(1, asyncEvents);
        }
예제 #9
0
		public void MultipleSubscribersTest ()
		{
			AGSEvent<MockEventArgs> ev = new AGSEvent<MockEventArgs> ();
			ev.Subscribe (onEvent);
			ev.Subscribe ((sender, e) => onEvent(sender, e));
			ev.SubscribeToAsync (onEventAsync);
			ev.SubscribeToAsync (async (sender, e) => await onEventAsync(sender, e));
			ev.Invoke (this, new MockEventArgs(x));
			Assert.AreEqual (2, syncEvents);
			Assert.AreEqual (2, asyncEvents);
		}
예제 #10
0
		public void SubscribeUnsubscribeOnDifferentTargetAsyncTest()
		{
			AGSEvent<MockEventArgs> ev = new AGSEvent<MockEventArgs> ();
			ev.SubscribeToAsync(onEventAsync);
			EventTests target2 = new EventTests ();
			ev.UnsubscribeToAsync(target2.onEventAsync);
			Assert.AreEqual(1, ev.SubscribersCount);
		}
예제 #11
0
		public void SubscribeUnsubscribeAsyncTest()
		{
			AGSEvent<MockEventArgs> ev = new AGSEvent<MockEventArgs> ();
			ev.SubscribeToAsync(onEventAsync);
			ev.UnsubscribeToAsync(onEventAsync);
			Assert.AreEqual(0, ev.SubscribersCount);
		}