Skip to content

Commit

Permalink
Alternative test implementation. Reduce data size from 2000 rows to 1…
Browse files Browse the repository at this point in the history
…0 rows.
  • Loading branch information
brendonparker committed Jun 18, 2024
1 parent 240b2ac commit 9e62861
Show file tree
Hide file tree
Showing 2 changed files with 8 additions and 54 deletions.
54 changes: 1 addition & 53 deletions DuckDB.NET.Test/AppenderTests.cs
Original file line number Diff line number Diff line change
@@ -1,63 +1,11 @@
using DuckDB.NET.Data;
using DuckDB.NET.Native;
using FluentAssertions;
using System;
using System.Linq;
using System.Numerics;
using System.Threading.Tasks;
using Xunit;
using FluentAssertions;

namespace DuckDB.NET.Test;

public class DuckDBAppenderTests
{
[Fact]
public async Task AppendListWithNullableValues()
{
using var conn = new DuckDBConnection("Data Source=:memory:");
await conn.OpenAsync();

using var cmd = conn.CreateCommand();
cmd.CommandText = "CREATE TABLE appenderTest(a BIGINT, c INTEGER[])";
await cmd.ExecuteNonQueryAsync();
var rand = new Random();

AppenderRecord[] records = [
new AppenderRecord { Id = 1, Values = [0, 5, 5, null, 20, null] },
new AppenderRecord { Id = 2, Values = [null, 5, 5, 15, 10, null, 1, 3] }
];

using (var appender = conn.CreateAppender("appenderTest"))
{
foreach (var record in records)
{
var row = appender.CreateRow();
row.AppendValue(record.Id);
row.AppendValue(record.Values);
row.EndRow();
}
appender.Close();
}

cmd.CommandText = "SELECT count(*) FROM appenderTest";
var count = await cmd.ExecuteScalarAsync();
count.Should().Be(2);

cmd.CommandText = "SELECT sum(list_aggregate(c, 'sum')) FROM appenderTest";
var sumLists = await cmd.ExecuteScalarAsync();
var intValue = records.SelectMany(x => x.Values).Sum();
intValue.Should().NotBeNull();

var expectedValue = new BigInteger(intValue.Value);
sumLists.Should().Be(expectedValue);
}

private class AppenderRecord
{
public long Id { get; set; }
public int?[] Values { get; set; }
}

[Fact]
public void AppenderTests()
{
Expand Down
8 changes: 7 additions & 1 deletion DuckDB.NET.Test/DuckDBManagedAppenderListTests.cs
Original file line number Diff line number Diff line change
Expand Up @@ -129,9 +129,15 @@ public void ArrayValuesInt()
ListValuesInternal("Integer", faker => faker.Random.Int(), 5);
}

[Fact]
public void ListValuesNullableDouble()
{
ListValuesInternal("Double", faker => faker.Random.Double().OrNull(faker));
}

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

var columnLength = length.HasValue ? length.Value.ToString() : "";
Expand Down

0 comments on commit 9e62861

Please sign in to comment.