Пример #1
0
		public void TestGenericEvents()
		{
			var a = new EventSource();
			var e = new IncomingEvent<EventArgs> { Channel = "a", DataObject = new EventArgs { Id = 10 }, EventName = "foo" };
			(e as IncomingEvent).Data = "{id:10}";

			var events = new List<IIncomingEvent>();

			a.EventEmitted += (sender, evt) =>
				{
					Assert.AreEqual(evt.Channel, e.Channel);
					Assert.AreEqual(evt.Data, e.Data);
					Assert.AreEqual(evt.EventName, e.EventName);
					events.Add(evt);
				};

			a.GetEventSubscription<EventArgs>().EventEmitted += (sender, evt) =>
			{
				Assert.AreEqual(evt.Channel, e.Channel);
				Assert.AreEqual(evt.Data, e.Data);
				Assert.AreEqual(evt.DataObject.Id, e.DataObject.Id);
				Assert.AreEqual(evt.EventName, e.EventName);
				events.Add(evt);
			};

			a.EmitEvent(e);
			Assert.AreEqual(events.Count, 2, "Event should get through twice when you have two subscriptions");
		}
Пример #2
0
        public void TestGenericEvents()
        {
            var a = new EventSource();
            var e = new IncomingEvent <EventArgs> {
                Channel = "a", DataObject = new EventArgs {
                    Id = 10
                }, EventName = "foo"
            };

            (e as IncomingEvent).Data = "{id:10}";

            var events = new List <IIncomingEvent>();

            a.EventEmitted += (sender, evt) =>
            {
                Assert.AreEqual(evt.Channel, e.Channel);
                Assert.AreEqual(evt.Data, e.Data);
                Assert.AreEqual(evt.EventName, e.EventName);
                events.Add(evt);
            };

            a.GetEventSubscription <EventArgs>().EventEmitted += (sender, evt) =>
            {
                Assert.AreEqual(evt.Channel, e.Channel);
                Assert.AreEqual(evt.Data, e.Data);
                Assert.AreEqual(evt.DataObject.Id, e.DataObject.Id);
                Assert.AreEqual(evt.EventName, e.EventName);
                events.Add(evt);
            };

            a.EmitEvent(e);
            Assert.AreEqual(events.Count, 2, "Event should get through twice when you have two subscriptions");
        }