public async Task Subscribe_with_filter() { var eventsReceived = new List <Event>(); var kant = await _client.Execute(new Create("Kant")); var wittgenstein = await _client.Execute(new Create("Wittgenstein")); //Listen for Deleted event for the Kant user await _client.Subscribe <Deleted>(eventsReceived.Add, new UserDeletedEventFilter(kant.Id)); await _client.Execute(new Delete(wittgenstein.Id)); //we shouldn't see a Deleted event for user Wittgenstein Assert.AreEqual(0, eventsReceived.Count); await _client.Execute(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); }