public void GetMethodInfoTests()
        {
            var        info     = _testStubs.GetType().GetMethod("Button_Click_External");
            MethodInfo testInfo = _testStubs.GetMethodInfo("Button_Click_External");

            Assert.Equal(info, testInfo);
        }
        public void GetMethodInfoTests()
        {
            var        info     = _testStubs.GetType().GetMethod("Button_Click_External");
            MethodInfo testInfo = _testStubs.GetMethodInfo("Button_Click_External");

            Assert.AreEqual(info, testInfo, "GetMethodInfo - Test failed to get a proper info.");
        }
        public void CommandHandlerProxyConstructorExceptionTests()
        {
            EventInfo outerEvent = _testStubs.GetType().GetEvent("IssueNotifyExecuteButtonChanged");

            UnitTestInternal.AssertThrows(typeof(ArgumentException),
                                          // ReSharper disable ObjectCreationAsStatement
                                          () => { new CommandHandlerProxy(null); },
                                          "CommandHandlerProxy - Constructor should throw Exception");

            UnitTestInternal.AssertThrows(typeof(ArgumentException),
                                          () => { new CommandHandlerProxy(_testStubs.ExecuteButton_Click_External, null, outerEvent); },
                                          "CommandHandlerProxy - Constructor should throw Exception");

            UnitTestInternal.AssertThrows(typeof(ArgumentException),
                                          () => { new CommandHandlerProxy(_testStubs.ExecuteButton_Click_External, null, outerEvent, _testStubs); },
                                          "CommandHandlerProxy - Constructor should throw Exception");

            UnitTestInternal.AssertThrows(typeof(ArgumentException),
                                          () => { new CommandHandlerProxy(_testStubs.ExecuteButton_Click_External, null, (EventInfo)null, _testStubs); },
                                          "CommandHandlerProxy - Constructor should throw Exception");

            UnitTestInternal.AssertThrows(typeof(ArgumentException),
                                          () => { new CommandHandlerProxy(null, _testStubs.CanExecuteButton_Click_External, a => _testStubs.IssueNotifyExecuteButtonChanged += a); },
                                          "CommandHandlerProxy - Constructor should throw Exception");

            UnitTestInternal.AssertThrows(typeof(ArgumentException),
                                          () => { new CommandHandlerProxy(_testStubs.ExecuteButton_Click_External, null, a => _testStubs.IssueNotifyExecuteButtonChanged += a); },
                                          "CommandHandlerProxy - Constructor should throw Exception");
            // ReSharper restore ObjectCreationAsStatement
        }