Fix libpq parsing and refactors/code cleanup
This commit is contained in:
parent
0090f39910
commit
739d6bd65a
12 changed files with 234 additions and 543 deletions
|
|
@ -1,4 +1,6 @@
|
|||
using pgLabII.PgUtils.ConnectionStrings;
|
||||
using FluentResults;
|
||||
using pgLabII.PgUtils.ConnectionStrings;
|
||||
using pgLabII.PgUtils.Tests.ConnectionStrings.Util;
|
||||
|
||||
namespace pgLabII.PgUtils.Tests.ConnectionStrings;
|
||||
|
||||
|
|
@ -22,20 +24,25 @@ public class PqConnectionStringParserTests
|
|||
public void Success()
|
||||
{
|
||||
var parser = new PqConnectionStringParser(tokenizer);
|
||||
IDictionary<string, string> output = parser.Parse();
|
||||
|
||||
Assert.Single(output);
|
||||
Assert.True(output.TryGetValue(kw, out string? result));
|
||||
Assert.Equal(val, result);
|
||||
Result<IDictionary<string, string>> output = parser.Parse();
|
||||
ResultAssert.Success(output, v =>
|
||||
{
|
||||
Assert.Single(v);
|
||||
Assert.True(v.TryGetValue(kw, out string? result));
|
||||
Assert.Equal(val, result);
|
||||
});
|
||||
}
|
||||
|
||||
[Fact]
|
||||
public void StaticParse()
|
||||
{
|
||||
var output = PqConnectionStringParser.Parse("foo=bar");
|
||||
Assert.Single(output);
|
||||
Assert.True(output.TryGetValue("foo", out string? result));
|
||||
Assert.Equal("bar", result);
|
||||
Result<IDictionary<string, string>> output = PqConnectionStringParser.Parse("foo=bar");
|
||||
ResultAssert.Success(output, v =>
|
||||
{
|
||||
Assert.Single(v);
|
||||
Assert.True(v.TryGetValue("foo", out string? result));
|
||||
Assert.Equal("bar", result);
|
||||
});
|
||||
}
|
||||
// There are few tests here as this is a predictive parser and all error handling is done
|
||||
// in the tokenizer
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue