pgLabII/pgLabII.PgUtils.Tests/ConnectionStrings/Util/UnitTestTokenizerTests.cs

97 lines
2 KiB
C#
Raw Normal View History

2025-10-26 14:14:00 +01:00
namespace pgLabII.PgUtils.Tests.ConnectionStrings.Util;
public class UnitTestTokenizerTests
{
private readonly UnitTestTokenizer _sut = new();
[Fact]
public void IsEof_Throws()
{
Assert.Throws<Exception>(() =>
{
bool _ = _sut.IsEof;
});
}
[Fact]
public void IsEof_True()
{
_sut.AddEof();
Assert.True(_sut.IsEof);
}
[Fact]
public void Eof_False()
{
_sut.AddString("a");
Assert.False(_sut.IsEof);
}
[Fact]
public void GetKeyword_Success()
{
_sut.AddString("a");
var result = _sut.GetKeyword();
ResultAssert.Success(result, "a");
}
[Fact]
public void GetKeyword_Unexpected_Throws()
{
_sut.AddEquals();
Assert.Throws<Exception>(() => _sut.GetKeyword());
}
[Fact]
public void GetKeyword_SimulatesException()
{
_sut.AddError(new("test"));
var result = _sut.GetKeyword();
ResultAssert.Failed(result);
}
[Fact]
public void GetValue_Success()
{
_sut.AddString("a");
var result = _sut.GetValue();
ResultAssert.Success(result, "a");
}
[Fact]
public void GetValue_Unexpected_Throws()
{
_sut.AddEquals();
Assert.Throws<Exception>(() => _sut.GetValue());
}
[Fact]
public void GetValue_SimulatesException()
{
_sut.AddError(new("test"));
var result = _sut.GetValue();
ResultAssert.Failed(result);
}
[Fact]
public void ConsumeEquals_Success()
{
_sut.AddEquals();
var result = _sut.ConsumeEquals();
ResultAssert.Success(result);
}
[Fact]
public void ConsumeEquals_Unexpected_Throws1()
{
Assert.Throws<Exception>(() => _sut.ConsumeEquals());
}
[Fact]
public void ConsumeEquals_Unexpected_Throws2()
{
_sut.AddString("t");
Assert.Throws<Exception>(() => _sut.ConsumeEquals());
}
}