Esempio n. 1
0
 public void Should_not_deconstruct_primitives_and_enums()
 {
     DeconstructionHelper.ShouldDeconstruct(Template1, 1).Should().BeFalse();
     DeconstructionHelper.ShouldDeconstruct(Template1, 1L).Should().BeFalse();
     DeconstructionHelper.ShouldDeconstruct(Template1, 1d).Should().BeFalse();
     DeconstructionHelper.ShouldDeconstruct(Template1, "").Should().BeFalse();
     DeconstructionHelper.ShouldDeconstruct(Template1, Base64FormattingOptions.InsertLineBreaks).Should().BeFalse();
 }
Esempio n. 2
0
 public void Should_not_deconstruct_collections()
 {
     DeconstructionHelper.ShouldDeconstruct(Template1, new int[] {}).Should().BeFalse();
     DeconstructionHelper.ShouldDeconstruct(Template1, new string[] {}).Should().BeFalse();
     DeconstructionHelper.ShouldDeconstruct(Template1, new ArrayList()).Should().BeFalse();
     DeconstructionHelper.ShouldDeconstruct(Template1, new List <LogEvent>()).Should().BeFalse();
     DeconstructionHelper.ShouldDeconstruct(Template1, new Dictionary <int, string>()).Should().BeFalse();
 }
Esempio n. 3
0
        /// <summary>
        /// Logs the given <paramref name="messageTemplate"/> and <paramref name="exception"/> on the <see cref="LogLevel.Debug"/> level with given <paramref name="properties" />. The <paramref name="messageTemplate"/> can contain placeholders for <paramref name="properties"/>, see <see cref="LogEvent.MessageTemplate"/> for details.
        /// </summary>
        public static void Debug <T>(this ILog log, [CanBeNull] Exception exception, [CanBeNull] string messageTemplate, [CanBeNull] T properties)
        {
            if (!log.IsEnabledFor(LogLevel.Debug))
            {
                return;
            }

            if (!DeconstructionHelper.ShouldDeconstruct(messageTemplate, properties))
            {
                log.Debug(exception, messageTemplate, (object)properties);
                return;
            }

            log.Log(new LogEvent(LogLevel.Debug, PreciseDateTime.Now, messageTemplate, exception).WithObjectProperties(properties));
        }
Esempio n. 4
0
 public void Should_deconstruct_arbitrary_types_when_there_is_more_than_one_property_in_the_template()
 {
     DeconstructionHelper.ShouldDeconstruct(Template1, new Dto()).Should().BeFalse();
     DeconstructionHelper.ShouldDeconstruct(Template2, new Dto()).Should().BeTrue();
     DeconstructionHelper.ShouldDeconstruct(Template3, new Dto()).Should().BeTrue();
 }
Esempio n. 5
0
 public void Should_deconstruct_anonymous_types()
 => DeconstructionHelper.ShouldDeconstruct(Template1, new { A = 1 }).Should().BeTrue();
Esempio n. 6
0
 public void Should_not_deconstruct_types_with_custom_tostring_method()
 => DeconstructionHelper.ShouldDeconstruct(Template1, new TypeWithToString()).Should().BeFalse();
Esempio n. 7
0
 public void Should_deconstruct_dictionaries_of_string_to_object()
 => DeconstructionHelper.ShouldDeconstruct(Template1, new Dictionary <string, object>()).Should().BeTrue();
Esempio n. 8
0
 public void Should_not_deconstruct_nulls()
 => DeconstructionHelper.ShouldDeconstruct(Template1, null as string).Should().BeFalse();