public void Setup()
        {
            m_Logger = Substitute.For <ISelkieLogger>();
            m_Bus = Substitute.For <ISelkieInMemoryBus>();
            m_Dispatcher = new TestImmediateDispatcher();
            m_Manager = Substitute.For <ICommandManager>();

            m_Sut = new AntSettingsViewModel(m_Logger,
                                             m_Bus,
                                             m_Dispatcher,
                                             m_Manager,
                                             Substitute.For <IAntSettingsModel>());

            m_SelectedNode = Substitute.For <IAntSettingsNode>();
            m_Sut.SelectedNode = m_SelectedNode;
        }
        public void AntSettingsModelChangedHandler_CallsDispatcher_WhenCalled()
        {
            // Arrange
            AntSettingsModelChangedMessage message = CreateAntSettingsModelChangedMessage();

            var dispatcher = Substitute.For <IApplicationDispatcher>();

            var sut = new AntSettingsViewModel(m_Logger,
                                               m_Bus,
                                               dispatcher,
                                               m_Manager,
                                               Substitute.For <IAntSettingsModel>());

            // Act
            sut.AntSettingsModelChangedHandler(message);

            // Assert
            dispatcher.Received()
                      .BeginInvoke(Arg.Any <Action>());
        }