public void CreateExtendedCommandInvalidBaseCommandReturnsOriginalCommand()
        {
            var sut     = new SutAlias();
            var command = CreateWrappedMethodInvokeCommand(
                new Mock <IMethod>().Object,
                new Mock <IExpansion <object> >().Object);

            var actual = sut.CreateExtendedCommand(new Mock <ISpecimenBuilder>().Object, command);

            Assert.Same(command, actual);
        }
        public void CreateExtendedCommandWithStaticMethodReturnsMethodInvokeCommand()
        {
            var sut        = new SutAlias();
            var methodInfo = typeof(GuardClauseExtensionsTests).GetMethod(
                nameof(StaticCommandHelperMethod),
                BindingFlags.Static | BindingFlags.NonPublic);
            var method  = new StaticMethod(methodInfo);
            var command = CreateWrappedMethodInvokeCommand(
                method,
                new IndexedReplacement <object>(0));

            var actual = sut.CreateExtendedCommand(new Mock <ISpecimenBuilder>().Object, command);

            Assert.IsType <MethodInvokeCommand>(
                (actual as ReflectionExceptionUnwrappingCommand)?.Command);
        }