public async Task ClientInvokeCallback_GrainObserver() { TestClientInvokeCallback callback = new TestClientInvokeCallback(Guid.Empty); GrainClient.ClientInvokeCallback = callback.OnInvoke; RequestContextGrainObserver observer = new RequestContextGrainObserver(null, null); // CreateObjectReference will result in system target call to IClientObserverRegistrar. // We want to make sure this does not invoke ClientInvokeCallback. ISimpleGrainObserver reference = await GrainClient.GrainFactory.CreateObjectReference<ISimpleGrainObserver>(observer); GC.KeepAlive(observer); Assert.AreEqual(0, callback.TotalCalls, "Number of callbacks"); }