public void Serialization_Successful()
        {
            const string commandName    = "This is yet again another message!";
            var          commandArgs    = new[] { "Arg0", "Arg1", "Arg2", "Arg3" };
            var          innerException = new IOException();
            var          commandResolveExceptionOriginal =
                new CommandResolveException(commandName, commandArgs, innerException);
            CommandResolveException commandResolveException;

            using (var memoryStream = new MemoryStream())
            {
                var binaryFormatter = new BinaryFormatter();
                binaryFormatter.Serialize(memoryStream, commandResolveExceptionOriginal);
                memoryStream.Position   = 0;
                commandResolveException = (CommandResolveException)binaryFormatter
                                          .Deserialize(memoryStream);
            }

            Assert.That(
                commandResolveException.Message,
                Is.EqualTo("Command could not be resolved."));
            Assert.That(commandResolveException.CommandName, Is.EqualTo(commandName));
            Assert.That(commandResolveException.CommandArgs, Is.EqualTo(commandArgs));
            Assert.That(commandResolveException.InnerException, Is.TypeOf <IOException>());
        }
        public void ConstructorMessage_SetsValues()
        {
            const string message = "This is a message.";
            var          commandResolveException = new CommandResolveException(message);

            Assert.That(commandResolveException.Message, Is.EqualTo(message));
        }
        public void ConstructorMessageInnerException_SetsValues()
        {
            const string message                  = "This is another message.";
            var          innerException           = new IOException();
            var          commandNotFoundException = new CommandResolveException(message, innerException);

            Assert.That(commandNotFoundException.Message, Is.EqualTo(message));
            Assert.That(commandNotFoundException.InnerException, Is.EqualTo(innerException));
        }
        public void ConstructorCommandNameCommandArgs_SetsValues()
        {
            const string commandName             = "This is yet another message.";
            var          commandArgs             = new[] { "Arg0", "Arg1" };
            var          commandResolveException = new CommandResolveException(commandName, commandArgs);

            Assert.That(
                commandResolveException.Message,
                Is.EqualTo("Command could not be resolved."));
            Assert.That(commandResolveException.CommandName, Is.EqualTo(commandName));
            Assert.That(commandResolveException.CommandArgs, Is.EqualTo(commandArgs));
        }