Example #1
0
        public async Task Can_raise_events()
        {
            var handledEvents = 0;

            _client.Events.Raised += e => handledEvents += 1;

            await _client.ExecuteAsync(new Create("Memstate"));

            Assert.AreEqual(1, handledEvents);
        }
        public async Task Subscribe_with_filter()
        {
            var eventsReceived = new List <Event>();
            var kant           = await _client.ExecuteAsync(new Create("Kant"));

            var wittgenstein = await _client.ExecuteAsync(new Create("Wittgenstein"));

            //Listen for Deleted event for the Kant user
            await _client.SubscribeAsync <Deleted>(eventsReceived.Add, new UserDeletedEventFilter(kant.Id));

            await _client.ExecuteAsync(new Delete(wittgenstein.Id));

            //we shouldn't see a Deleted event for user Wittgenstein
            Assert.AreEqual(0, eventsReceived.Count);

            await _client.ExecuteAsync(new Delete(kant.Id));

            //we should now have 1 Deleted event for user Kant
            Assert.AreEqual(1, eventsReceived.Count);
            Assert.AreEqual(kant.Id, (eventsReceived[0] as Deleted)?.UserId);
        }