示例#1
0
        public void Run_should_throw_ArgumentNullException_if_given_null_args()
        {
            //  arrange
            var cmd = new MockCommand1();

            //  act
            //  assert
            Assert.Throws <ArgumentNullException>(() => cmd.Run(null));
        }
        public void Run_should_throw_ArgumentNullException_if_given_null_args()
        {
            //  arrange
            var cmd = new MockCommand1();

            //  act
            //  assert
            Assert.Throws<ArgumentNullException>(() => cmd.Run(null));
        }
示例#3
0
        public void Run_should_throw_InvalidOperationException_if_Log_property_is_null()
        {
            //  arrange
            var cmd  = new MockCommand1();
            var args = new MockCommandArgs();

            //  act
            var ex = Assert.Throws <InvalidOperationException>(() => cmd.Run(args));

            Assert.AreEqual("ICommand.Log cannot be null.", ex.Message);
        }
        public void Run_should_throw_ArgumentException_if_args_type_doesnt_match_generic_TArgs()
        {
            //  arrange
            var cmd = new MockCommand1();
            var args = new DatabaseCommandArguments();

            //  act
            //  assert
            var ex = Assert.Throws<ArgumentException>(() => cmd.Run(args));
            Assert.AreEqual("args type doesn't match generic type\r\nParameter name: args", ex.Message);
        }
示例#5
0
        public void Run_should_throw_ArgumentException_if_args_type_doesnt_match_generic_TArgs()
        {
            //  arrange
            var cmd  = new MockCommand1();
            var args = new DatabaseCommandArguments();

            //  act
            //  assert
            var ex = Assert.Throws <ArgumentException>(() => cmd.Run(args));

            Assert.AreEqual("args type doesn't match generic type\r\nParameter name: args", ex.Message);
        }
        public void GetArgumentsType_should_return_generic_TArgs_type()
        {
            //  arrange
            var cmd = new MockCommand1();

            //  act
            Type argsType = cmd.GetArgumentsType();

            //  assert
            Type expectedType = typeof(MockCommandArgs);
            Assert.AreEqual(expectedType, argsType);
        }
        public void CreateArguments_should_return_instance_of_generic_TArgs_type()
        {
            //  arrange
            var cmd = new MockCommand1();

            //  act
            IArguments args = cmd.CreateArguments();

            //  assert
            Type expectedType = typeof(MockCommandArgs);
            Assert.IsTrue(expectedType.IsInstanceOfType(args));
        }
示例#8
0
        public void GetArgumentsType_should_return_generic_TArgs_type()
        {
            //  arrange
            var cmd = new MockCommand1();

            //  act
            Type argsType = cmd.GetArgumentsType();

            //  assert
            Type expectedType = typeof(MockCommandArgs);

            Assert.AreEqual(expectedType, argsType);
        }
示例#9
0
        public void CreateArguments_should_return_instance_of_generic_TArgs_type()
        {
            //  arrange
            var cmd = new MockCommand1();

            //  act
            IArguments args = cmd.CreateArguments();

            //  assert
            Type expectedType = typeof(MockCommandArgs);

            Assert.IsTrue(expectedType.IsInstanceOfType(args));
        }
        public void Run_should_throw_InvalidOperationException_if_args_are_not_valid()
        {
            //  arrange
            var cmd = new MockCommand1();
            cmd.Log = new MockLog1();
            ArgumentSet argSet = ArgumentSet.Parse(new[] { "blah" });
            var args = new MockCommandArgs();
            args.Parse(argSet);

            //  act
            var ex = Assert.Throws<InvalidOperationException>(() => cmd.Run(args));
            Assert.AreEqual("Argument validation failed. Arguments are invalid.", ex.Message);
        }
        public void CommandHandlerNotAvailable_DoesntExecuteHandleAndDoesntThrowException()
        {
            // Arrange
            var mockHandler         = new Mock <ICommandHandler <MockCommand1> >();
            var mockServiceProvider = new Mock <IServiceProvider>();
            var mockCommand         = new MockCommand1();

            var commandHandler = new CommandHandler(mockServiceProvider.Object);

            // Act
            commandHandler.Handle(mockCommand);

            // Assert
            mockHandler.Verify(h => h.Handle(mockCommand), Times.Never);
        }
示例#12
0
        public void Run_should_throw_InvalidOperationException_if_args_are_not_valid()
        {
            //  arrange
            var cmd = new MockCommand1();

            cmd.Log = new MockLog1();
            ArgumentSet argSet = ArgumentSet.Parse(new[] { "blah" });
            var         args   = new MockCommandArgs();

            args.Parse(argSet);

            //  act
            var ex = Assert.Throws <InvalidOperationException>(() => cmd.Run(args));

            Assert.AreEqual("Argument validation failed. Arguments are invalid.", ex.Message);
        }
        public void WriteCommandHelp_should_include_command_syntax_and_argument_list()
        {
            //  arrange
            var command = new MockCommand1();
            const string exeName = "test.exe";

            //  act
            string argumentSyntax = GetArgumentSyntax(command);
            string argumentList = GetArgumentList(command);
            _helpWriter.WriteCommandHelp(command, exeName);

            //  assert
            string expectedOutput = "Usage: " +
                                    exeName + " " + command.CommandName + " " + argumentSyntax + "\r\n" +
                                    argumentList;
            Assert.AreEqual(expectedOutput, _logger.Output);
        }
        public void WriteCommandHelp_should_include_command_syntax_and_argument_list()
        {
            //  arrange
            var          command = new MockCommand1();
            const string exeName = "test.exe";

            //  act
            string argumentSyntax = GetArgumentSyntax(command);
            string argumentList   = GetArgumentList(command);

            _helpWriter.WriteCommandHelp(command, exeName);

            //  assert
            string expectedOutput = "Usage: " +
                                    exeName + " " + command.CommandName + " " + argumentSyntax + "\r\n" +
                                    argumentList;

            Assert.AreEqual(expectedOutput, _logger.Output);
        }
        public void CommandHandlerAvailable_ExecutesHandleOnce()
        {
            // Arrange
            var mockHandler = new Mock <ICommandHandler <MockCommand1> >();
            var command     = new MockCommand1();

            var mockServiceProvider = new Mock <IServiceProvider>();

            mockServiceProvider.Setup(s => s.GetService(typeof(ICommandHandler <>).MakeGenericType(typeof(MockCommand1))))
            .Returns(mockHandler.Object);

            var commandHandler = new CommandHandler(mockServiceProvider.Object);

            // Act
            commandHandler.Handle(command);

            // Assert
            mockHandler.Verify(m => m.Handle(command), Times.Once);
        }
        public void Run_should_throw_InvalidOperationException_if_Log_property_is_null()
        {
            //  arrange
            var cmd = new MockCommand1();
            var args = new MockCommandArgs();

            //  act
            var ex = Assert.Throws<InvalidOperationException>(() => cmd.Run(args));
            Assert.AreEqual("ICommand.Log cannot be null.", ex.Message);
        }