public void LogValues_WithNullAndEnumerable_IsNotMutatingParameter() { string format = "TestMessage {Param1} {Param2} {Param3} {Param4}"; int param1 = 1; string param2 = null; int[] param3 = new[] { 1, 2, 3, 4 }; string param4 = "string"; var logValues = new FormattedLogValues(format, param1, param2, param3, param4); logValues.ToString(); var state = logValues.ToArray(); Assert.Equal(new[] { new KeyValuePair <string, object>("Param1", param1), new KeyValuePair <string, object>("Param2", param2), new KeyValuePair <string, object>("Param3", param3), new KeyValuePair <string, object>("Param4", param4), new KeyValuePair <string, object>("{OriginalFormat}", format), }, state); }