public static void Indent_RoundtripsAndAffectsOutput(int indent)
{
const string TabString = "\t\t";
var sb = new StringBuilder();
var sw = new StringWriter(sb);
var itw = new IndentedTextWriter(sw, TabString);
itw.Indent = indent;
Assert.Equal(indent >= 0 ? indent : 0, itw.Indent);
itw.WriteLine("first");
itw.WriteLine("second");
itw.WriteLine("third");
string expectedTab = string.Concat(Enumerable.Repeat(TabString, itw.Indent));
Assert.Equal(
"first" + Environment.NewLine +
expectedTab + "second" + Environment.NewLine +
expectedTab + "third" + Environment.NewLine,
sb.ToString());
}