public void TestIndentationLevelVerification()
{
Mockery mockery = new Mockery();
IProjectNode pn = mockery.NewMock<IProjectNode>();
ProjectSerializer ps = new ProjectSerializer("\tged\r\n\t hest \r\n\tnejj\r\n", null, null);
ps.SpacesIndent = 2;
Token t = ps.ReadIndentationToken(pn);
Assert.AreEqual(TokenType.Indentation, t.Type);
Assert.AreEqual("\t", t.Text);
t = ps.ReadTextToken(pn);
Assert.AreEqual(TokenType.Text, t.Type);
Assert.AreEqual("ged", t.Text);
t = ps.ReadLineBreakToken(pn);
t = ps.ReadIndentationToken(pn);
Assert.AreEqual(TokenType.Indentation, t.Type);
Assert.AreEqual("\t ", t.Text);
Assert.AreEqual(2, ps.GetIndentationLevel(t.Text));
t = ps.ReadTextToken(pn);
Assert.AreEqual(TokenType.Text, t.Type);
Assert.AreEqual("hest", t.Text);
t = ps.ReadLineBreakToken(pn);
t = ps.ReadIndentationToken(pn);
Assert.AreEqual(TokenType.Indentation, t.Type);
Assert.AreEqual("\t", t.Text);
Assert.AreEqual(1, ps.GetIndentationLevel(t.Text));
ps.RollBackToken(t);
t = ps.ReadIndentationToken(pn);
Assert.AreEqual(TokenType.Indentation, t.Type);
Assert.AreEqual("\t", t.Text);
Assert.AreEqual(1, ps.GetIndentationLevel(t.Text));
}