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(); }
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(); }
/// <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)); }
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(); }
public void Should_deconstruct_anonymous_types() => DeconstructionHelper.ShouldDeconstruct(Template1, new { A = 1 }).Should().BeTrue();
public void Should_not_deconstruct_types_with_custom_tostring_method() => DeconstructionHelper.ShouldDeconstruct(Template1, new TypeWithToString()).Should().BeFalse();
public void Should_deconstruct_dictionaries_of_string_to_object() => DeconstructionHelper.ShouldDeconstruct(Template1, new Dictionary <string, object>()).Should().BeTrue();
public void Should_not_deconstruct_nulls() => DeconstructionHelper.ShouldDeconstruct(Template1, null as string).Should().BeFalse();