public void WithoutReflectionBasedDestructurer_CustomExceptionIsNotLogged() { // Arrange var exception = new DictNonScalarKeyException(); var options = new DestructuringOptionsBuilder().WithoutReflectionBasedDestructurer(); // Act var rootObject = LogAndDestructureException(exception, options); // Assert rootObject.Properties().Should().NotContain(x => x.Name == "Properties"); }
public void WhenExceptionContainsDictionaryWithNonScalarValue_ShouldNotThrow() { // Arrange var exception = new DictNonScalarKeyException(); exception.Reference.Add(new List <int>() { 1, 2, 3 }, "VALUE"); // Act var result = LogAndDestructureException(exception, new DestructuringOptionsBuilder()); // Assert var exceptionDetails = ExtractExceptionDetails(result); var referenceProperty = exceptionDetails.Should().BeOfType <JObject>().Which .Properties().Should().ContainSingle(x => x.Name == "Reference").Which; var referenceObject = referenceProperty.Value.Should().BeOfType <JObject>().Which; var kvp = referenceObject.Properties().Should().ContainSingle() .Which.Should().BeOfType <JProperty>() .Which.Name.Should().Be("System.Collections.Generic.List`1[System.Int32]"); }