Skip to content

Commit

Permalink
Added list writer test cases.
Browse files Browse the repository at this point in the history
  • Loading branch information
Giorgi committed May 31, 2024
1 parent 4f22291 commit 9d90fa0
Showing 1 changed file with 57 additions and 9 deletions.
66 changes: 57 additions & 9 deletions DuckDB.NET.Test/DuckDBManagedAppenderListTests.cs
Original file line number Diff line number Diff line change
Expand Up @@ -15,15 +15,15 @@ public void ListValuesBool()
}

[Fact]
public void ListValuesString()
public void ListValuesSByte()
{
ListValuesInternal("Varchar", faker => faker.Random.Utf16String());
ListValuesInternal("TinyInt", faker => faker.Random.SByte());
}

[Fact]
public void ListValuesSByte()
public void ListValuesShort()
{
ListValuesInternal("TinyInt", faker => faker.Random.SByte());
ListValuesInternal("SmallInt", faker => faker.Random.Short());
}

[Fact]
Expand All @@ -33,15 +33,39 @@ public void ListValuesInt()
}

[Fact]
public void ArrayValuesInt()
public void ListValuesLong()
{
ListValuesInternal("Integer", faker => faker.Random.Int(), 5);
ListValuesInternal("BigInt", faker => faker.Random.Long());
}

[Fact]
public void ListValuesLong()
public void ListValuesByte()
{
ListValuesInternal("BigInt", faker => faker.Random.Long());
ListValuesInternal("UTinyInt", faker => faker.Random.Byte());
}

[Fact]
public void ListValuesUShort()
{
ListValuesInternal("USmallInt", faker => faker.Random.UShort());
}

[Fact]
public void ListValuesUInt()
{
ListValuesInternal("UInteger", faker => faker.Random.UInt());
}

[Fact]
public void ListValuesULong()
{
ListValuesInternal("UBigInt", faker => faker.Random.ULong());
}

[Fact]
public void ListValuesDecimal()
{
ListValuesInternal("Decimal(38,28)", faker => faker.Random.Decimal());
}

[Fact]
Expand All @@ -56,11 +80,35 @@ public void ListValuesDouble()
ListValuesInternal("Double", faker => faker.Random.Double());
}

[Fact]
public void ListValuesGuid()
{
ListValuesInternal("UUID", faker => faker.Random.Guid());
}

[Fact]
public void ListValuesDate()
{
ListValuesInternal("Date", faker => faker.Date.Past().Date);
}

[Fact]
public void ListValuesString()
{
ListValuesInternal("Varchar", faker => faker.Random.Utf16String());
}

[Fact]
public void ArrayValuesInt()
{
ListValuesInternal("Integer", faker => faker.Random.Int(), 5);
}


private void ListValuesInternal<T>(string typeName, Func<Faker, T> generator, int? length = null)
{
var rows = 2000;
var table = $"managedAppender{typeName}Lists";
var table = $"managedAppenderLists";

var columnLength = length.HasValue ? length.Value.ToString() : "";
Command.CommandText = $"CREATE OR REPLACE TABLE {table} (a Integer, b {typeName}[{columnLength}], c {typeName}[][]);";
Expand Down

0 comments on commit 9d90fa0

Please sign in to comment.