public override void Render(TextWriter output, string format = null, IFormatProvider formatProvider = null) { if (output == null) throw new ArgumentNullException(nameof(output)); output.Write('['); var delim = "("; foreach (var kvp in Elements) { output.Write(delim); delim = ", ("; kvp.Key.Render(output, null, formatProvider); output.Write(": "); kvp.Value.Render(output, null, formatProvider); output.Write(")"); } output.Write(']'); }
public void ADictionaryValueRendersAsMappingOfKeysToValues() { var dict = new DictionaryValue(new[] { new KeyValuePair<ScalarValue, LogEventPropertyValue>( new ScalarValue(1), new ScalarValue("hello")), new KeyValuePair<ScalarValue, LogEventPropertyValue>( new ScalarValue("world"), new SequenceValue(new [] { new ScalarValue(1.2) })) }); var sw = new StringWriter(); dict.Render(sw); var rendered = sw.ToString(); Assert.AreEqual("[(1: \"hello\"), (\"world\": [1.2])]", rendered); }