using System; using System.Collections.Generic; using System.Linq; using System.Text; using System.Threading.Tasks; namespace Seshat.UnitTests { public class CodeWriterTests : UnitTestSharp.TestFixture { public void IndentBlock() { CodeWriter writer = new CodeWriter(); CheckEqual(0, writer.CurrentIndent); using (writer.Indent()) { CheckEqual(1, writer.CurrentIndent); using (writer.Indent()) { CheckEqual(2, writer.CurrentIndent); } CheckEqual(1, writer.CurrentIndent); } CheckEqual(0, writer.CurrentIndent); } public void AddCodeLine() { CodeWriter writer = new CodeWriter(); writer.AddCodeLine("foo"); CheckEqual("foo", writer.FullText); } public void AddCodeLineNull() { CodeWriter writer = new CodeWriter(); writer.AddCodeLine(null); CheckEqual("", writer.FullText); } public void AddCodeLineEmpty() { CodeWriter writer = new CodeWriter(); writer.AddCodeLine(""); CheckEqual("", writer.FullText); } public void AddCodeLineIndent() { CodeWriter writer = new CodeWriter(); writer.CurrentIndent++; writer.IndentWhitespace = "QQ"; writer.AddCodeLine("foo"); CheckEqual("QQfoo", writer.FullText); } public void AddCodeLineNewline() { CodeWriter writer = new CodeWriter(); writer.CurrentIndent++; writer.IndentWhitespace = "QQ"; writer.AddCodeLine("foo"); writer.CurrentIndent++; writer.IndentWhitespace = "RRR"; writer.AddCodeLine("bar"); CheckEqual("QQfoo" + System.Environment.NewLine + "RRRRRRbar", writer.FullText); } } }