public void WriteBufferNull() { using (var w = new DumpTextWriter()) w.Write(new char[] { 'a', 'b', 'c' }, -1, -2); Assert.Fail("Expected " + nameof(ArgumentException)); }
public ObjectTextDumper( TextWriter writer, int indentLevel = DefaultIndentLevel, int indentSize = DefaultIndentSize, int maxDumpLength = DumpTextWriter.DefaultMaxLength, BindingFlags propertiesBindingFlags = BindingFlags.Default, BindingFlags fieldsBindingFlags = BindingFlags.Default) { if (writer == null) { throw new ArgumentNullException(nameof(writer)); } if (writer.GetType() == typeof(StringWriter)) { // wrap the writer in DumpTextWriter Writer = new DumpTextWriter((StringWriter)writer, maxDumpLength); _isDumpWriter = true; } else { Writer = writer; } _indentLevel = indentLevel >= DefaultIndentLevel ? indentLevel : DefaultIndentLevel; _indentSize = indentSize >= DefaultIndentSize ? indentSize : DefaultIndentSize; PropertiesBindingFlags = propertiesBindingFlags == BindingFlags.Default ? DefaultPropertiesBindingFlags : propertiesBindingFlags; FieldsBindingFlags = fieldsBindingFlags == BindingFlags.Default ? DefaultFieldsBindingFlags : fieldsBindingFlags; }
public ObjectTextDumper( TextWriter writer, IMemberInfoComparer memberInfoComparer = null) { Writer = writer ?? throw new ArgumentNullException(nameof(writer)); MemberInfoComparer = memberInfoComparer ?? new MemberInfoComparer(); Settings = DefaultDumpSettings; _indentSize = Settings.IndentSize; if (Writer is StringWriter) { // wrap the writer in DumpTextWriter - handles better the indentations and // limits the dump output to DumpTextWriter.DefaultMaxLength Writer = new DumpTextWriter((StringWriter)Writer, Settings.MaxDumpLength); _isDumpWriter = true; } }