public void TitleChangedEventNotRaisedTest() { var winChanged = new Mock <IWindowChangedNotifier>(); var titleChanged = new Mock <ITitleChangedNotifier>(); var syncContext = new SyncContextMock(); var subject = new ReplaySubject <WinChangedArgs>(); winChanged.Setup(w => w.WinChangedObservable).Returns(Observable.Return(new WinChangedArgs("title2", IntPtr.Zero))); titleChanged.Setup(t => t.TitleChangedObservable).Returns(subject.AsObservable()); var notifier = new AppChangedNotifier(winChanged.Object, titleChanged.Object, syncContext); var eventCalled = false; notifier.AppChangedObservable.Subscribe(w => { eventCalled = true; }); subject.OnNext(new WinChangedArgs("title", (IntPtr)10)); Assert.IsFalse(eventCalled, "app changed event should not be raised if event window handle is not same as active handle"); }
public void WinChangedEventTest() { var winChanged = new Mock <IWindowChangedNotifier>(); var titleChanged = new Mock <ITitleChangedNotifier>(); var syncContext = new SyncContextMock(); var subject = new ReplaySubject <WinChangedArgs>(); winChanged.Setup(w => w.WinChangedObservable).Returns(subject.AsObservable()); titleChanged.Setup(t => t.TitleChangedObservable).Returns(Observable.Return(new WinChangedArgs("title2", IntPtr.Zero))); var notifier = new AppChangedNotifier(winChanged.Object, titleChanged.Object, syncContext); var eventCalled = false; notifier.AppChangedObservable.Subscribe(w => { Assert.AreEqual("title", w.LogInfo.WindowTitle); eventCalled = true; }); subject.OnNext(new WinChangedArgs("title", (IntPtr)10)); Assert.IsTrue(eventCalled); }
public void TitleChangedEventRaisedTest() { var windowChanged = new Mock <IWindowChangedNotifier>(); var titleChanged = new Mock <ITitleChangedNotifier>(); var syncContext = new SyncContextMock(); var windowSubject = new ReplaySubject <WinChangedArgs>(); var titleSubject = new ReplaySubject <WinChangedArgs>(); windowChanged.Setup(w => w.WinChangedObservable).Returns(windowSubject.AsObservable()); titleChanged.Setup(t => t.TitleChangedObservable).Returns(titleSubject.AsObservable()); var notifier = new AppChangedNotifier(windowChanged.Object, titleChanged.Object, syncContext); windowSubject.OnNext(new WinChangedArgs("title", (IntPtr)10)); var eventRaised = false; notifier.AppChangedObservable.Subscribe(a => { eventRaised = true; }); titleSubject.OnNext(new WinChangedArgs("other title", (IntPtr)10)); Assert.IsTrue(eventRaised, "app changed event should be raised if event window handle is the same as active handle and window titles are different"); }