MParser/Lexer.Tests/TextWindowShould.cs

36 lines
893 B
C#

using NUnit.Framework;
namespace Lexer.Tests
{
[TestFixture]
public class TestWindowShould
{
[Test]
public void ReturnEofGivenEmptyText()
{
var sut = new TextWindow("");
Assert.IsTrue(sut.IsEof());
}
[Test]
public void ReturnNotEofGivenNonEmptyText()
{
var sut = new TextWindow("Text.");
Assert.IsFalse(sut.IsEof());
}
[Test]
public void ReturnCharsInCorrectOrder()
{
var text = "abc";
var sut = new TextWindow(text);
Assert.AreEqual('a', sut.PeekChar());
sut.ConsumeChar();
Assert.AreEqual('b', sut.PeekChar());
sut.ConsumeChar();
Assert.AreEqual('c', sut.PeekChar());
sut.ConsumeChar();
Assert.IsTrue(sut.IsEof());
}
}
}