public void Navigate_WhenCalledOnSameNode_DoesNotRaiseEvent() { bool eventRaised = false; NodeChangedEventHandler handler = (sender, node) => eventRaised = true; try { var mockedFactory = new Mock <INodeFactory>(); var mockedNodeContext = new Mock <INodeContext>(); var mockedNode = new Mock <INode>(); mockedFactory.Setup(nodeFactory => nodeFactory.CreateNode(It.IsAny <INodeContext>())).Returns( mockedNode.Object); UIFramework.Instance.Navigate(mockedFactory.Object, mockedNodeContext.Object); UIFramework.Instance.NodeChangedEvent += handler; UIFramework.Instance.Navigate(mockedFactory.Object, mockedNodeContext.Object); Assert.IsFalse(eventRaised); } finally { UIFramework.Instance.NodeChangedEvent -= handler; } }
public void Navigate_GivenNodeWhenCalled_RaisesNodeChangedEventAfterNodeChanging() { bool eventRaised = false; NodeChangingEventHandler handler = (sender, node) => eventRaised = true; NodeChangedEventHandler changedEventHandler = (sender, node) => Assert.IsTrue(eventRaised); UIFramework.Instance.NodeChangingEvent += handler; UIFramework.Instance.NodeChangedEvent += changedEventHandler; try { var mockedNodeFactory = new Mock <INodeFactory>(); var mockedNodeContext = new Mock <INodeContext>(); var mockedNode = new Mock <INode>(); mockedNodeFactory.Setup(nodeFactory => nodeFactory.CreateNode(It.IsAny <INodeContext>())).Returns( mockedNode.Object); UIFramework.Instance.Navigate(mockedNodeFactory.Object, mockedNodeContext.Object); UIFramework.Instance.Navigate(mockedNodeFactory.Object, mockedNodeContext.Object); } finally { UIFramework.Instance.NodeChangingEvent -= handler; UIFramework.Instance.NodeChangedEvent -= changedEventHandler; } }