85 lines
2.3 KiB
C#
85 lines
2.3 KiB
C#
using pgLabII.PgUtils.ConnectionStrings;
|
|
|
|
namespace pgLabII.PgUtils.Tests.ConnectionStrings;
|
|
|
|
public class PqConnectionStringTokenizerTests
|
|
{
|
|
[Theory]
|
|
[InlineData("abc", "abc")]
|
|
[InlineData("abc=", "abc")]
|
|
[InlineData(" abc =", "abc")]
|
|
public void GetKeyword_Success(string input, string expected)
|
|
{
|
|
PqConnectionStringTokenizer subject = new(input);
|
|
|
|
Assert.Equal(expected, subject.GetKeyword());
|
|
}
|
|
|
|
[Theory]
|
|
[InlineData("=")]
|
|
[InlineData("")]
|
|
[InlineData(" ")]
|
|
public void GetKeyword_Throws(string input)
|
|
{
|
|
PqConnectionStringTokenizer subject = new(input);
|
|
Assert.Throws<PqConnectionStringParserException>(() => subject.GetKeyword());
|
|
}
|
|
|
|
[Theory]
|
|
[InlineData("", true)]
|
|
[InlineData(" ", true)]
|
|
[InlineData(" \t", true)]
|
|
[InlineData("d", false)]
|
|
[InlineData("=", false)]
|
|
[InlineData(".", false)]
|
|
public void Eof(string input, bool expected)
|
|
{
|
|
PqConnectionStringTokenizer subject = new(input);
|
|
|
|
Assert.Equal(expected, subject.Eof);
|
|
}
|
|
|
|
[Theory]
|
|
[InlineData("=")]
|
|
[InlineData("=test")]
|
|
[InlineData(" = ")]
|
|
public void ConsumeEquals_Success(string input)
|
|
{
|
|
PqConnectionStringTokenizer subject = new(input);
|
|
subject.ConsumeEquals();
|
|
}
|
|
|
|
[Theory]
|
|
[InlineData("")]
|
|
[InlineData("t")]
|
|
[InlineData(" test")]
|
|
[InlineData(" ")]
|
|
public void ConsumeEquals_Throws(string input)
|
|
{
|
|
PqConnectionStringTokenizer subject = new(input);
|
|
Assert.Throws<PqConnectionStringParserException>(() => subject.ConsumeEquals());
|
|
}
|
|
|
|
[Theory]
|
|
[InlineData("foo", "foo")]
|
|
[InlineData("foo ", "foo")]
|
|
[InlineData("foo=", "foo=")]
|
|
[InlineData("1.2.3.4", "1.2.3.4")]
|
|
[InlineData(@"'foo \'bar' ", "foo 'bar")]
|
|
public void GetValue_Success(string input, string expected)
|
|
{
|
|
PqConnectionStringTokenizer subject = new(input);
|
|
Assert.Equal(expected, subject.GetValue());
|
|
}
|
|
|
|
[Theory]
|
|
[InlineData("")]
|
|
[InlineData(" ")]
|
|
[InlineData("'d")]
|
|
[InlineData(@"'\d'")]
|
|
public void GetValue_Throws(string input)
|
|
{
|
|
PqConnectionStringTokenizer subject = new(input);
|
|
Assert.Throws<PqConnectionStringParserException>(() => subject.GetValue());
|
|
}
|
|
}
|