public virtual void Detokenize_can_tokenize_null_parameter_values()
        {
            var parameters = new Dictionary <string, object>
            {
                { "null", null },
                { "notnull", "not null" }
            };

            Assert.AreEqual(
                "This is  and that is not null",
                MessageGenerator.Detokenize("This is {null} and that is {notnull}", parameters));
        }
        public void Parameter_formatting_can_be_specified_using_colon_notation_for_dates()
        {
            var date    = DateTime.Now;
            var dateStr = date.ToString("D");

            var parameters = new Dictionary <string, object>
            {
                { "today", date }
            };

            Assert.AreEqual(
                "Today is " + dateStr,
                MessageGenerator.Detokenize("Today is {today:D}", parameters));
        }
        /// <summary>
        ///   Gets the message for the specified <see cref="RuleEvaluation" /> .
        /// </summary>
        /// <param name="evaluation"> The <see cref="RuleEvaluation" /> . </param>
        /// <returns> A validation failure message <see cref="string" /> . </returns>
        public string GetMessage(RuleEvaluation evaluation)
        {
            var template = evaluation.MessageTemplate;

            if (!string.IsNullOrEmpty(template))
            {
                return(evaluation.Parameters != null
                           ? MessageGenerator.Detokenize(template, evaluation.Parameters)
                           : template);
            }

            var failure = evaluation as FailedEvaluation;

            return(failure != null
                       ? failure.ErrorCode
                       : string.Empty);
        }
        public virtual void When_parameters_are_missing_then_Detokenize_returns_empty_string()
        {
            const string messageTemplate = "This {parameter} is not available";

            Assert.That(MessageGenerator.Detokenize(messageTemplate, new Dictionary <string, object>()), Is.EqualTo(""));
        }
 public virtual void Detokenize_returns_empty_string_on_empty_string_message_template()
 {
     Assert.AreEqual(string.Empty,
                     MessageGenerator.Detokenize(string.Empty, new Dictionary <string, object>()));
 }
 public virtual void Detokenize_does_not_throw_on_null_parameters_dictionary()
 {
     Assert.DoesNotThrow(() => MessageGenerator.Detokenize(string.Empty, null));
 }