public void TestAttachAndDetach() { var h = new EventHost (); Assert.IsFalse (h.HasStandardEvent, "#1"); var source = Observable.FromEventPattern<EventArgs> (h, "StandardEvent"); Assert.IsFalse (h.HasStandardEvent, "#2"); // not subscribed yet bool received = false; var dis = source.Subscribe (v => received = true); Assert.IsTrue (h.HasStandardEvent, "#3"); Assert.IsFalse (received, "#4"); h.FireStandardEvent (); Assert.IsTrue (received, "#5"); dis.Dispose (); // unsubscribe event handler Assert.IsFalse (h.HasStandardEvent, "#6"); }
public void TestAttachAndDetach() { var h = new EventHost(); Assert.IsFalse(h.HasStandardEvent, "#1"); var source = Observable.FromEventPattern <EventArgs> (h, "StandardEvent"); Assert.IsFalse(h.HasStandardEvent, "#2"); // not subscribed yet bool received = false; var dis = source.Subscribe(v => received = true); Assert.IsTrue(h.HasStandardEvent, "#3"); Assert.IsFalse(received, "#4"); h.FireStandardEvent(); Assert.IsTrue(received, "#5"); dis.Dispose(); // unsubscribe event handler Assert.IsFalse(h.HasStandardEvent, "#6"); }