public async Task MissingValuesWillBeFilledWithDefaultValues()
        {
            var player  = new Mock <IPlayer>();
            var handler = new ExecutionTesterCommandHandler();

            var commands = this.commandFactory.BuildFromCommandHandler(handler);
            var command  = commands.First();

            var result = await command.TryExecuteAsync(player.Object, new object[]
            {
                "hello",
                123
            });

            result.Status.Should().Be(CommandExecutionStatus.Ok);
            handler.Arguments.Should().ContainInOrder(player.Object, "hello", 123, false);
        }
        public async Task CommandHandlerWillBeExecutedCorrectly()
        {
            var player  = new Mock <IPlayer>();
            var handler = new ExecutionTesterCommandHandler();

            var commands = this.commandFactory.BuildFromCommandHandler(handler);
            var command  = commands.First();

            var result = await command.TryExecuteAsync(player.Object, new object[]
            {
                "hello",
                123,
                true,
            });

            result.Status.Should().Be(CommandExecutionStatus.Ok);
            handler.Arguments.Should().ContainInOrder(player.Object, "hello", 123, true);
        }