1- using System . Collections . Generic ;
2- using System ;
3- using Bogus ;
1+ using Bogus ;
2+ using DuckDB . NET . Native ;
43using FluentAssertions ;
4+ using System ;
5+ using System . Collections . Generic ;
6+ using System . Numerics ;
57using Xunit ;
68
79namespace DuckDB . NET . Test ;
@@ -38,6 +40,12 @@ public void ListValuesLong()
3840 ListValuesInternal ( "BigInt" , faker => faker . Random . Long ( ) ) ;
3941 }
4042
43+ [ Fact ]
44+ public void ListValuesHugeInt ( )
45+ {
46+ ListValuesInternal ( "HugeInt" , faker => BigInteger . Subtract ( DuckDBHugeInt . HugeIntMaxValue , faker . Random . Int ( min : 0 ) ) ) ;
47+ }
48+
4149 [ Fact ]
4250 public void ListValuesByte ( )
4351 {
@@ -62,6 +70,12 @@ public void ListValuesULong()
6270 ListValuesInternal ( "UBigInt" , faker => faker . Random . ULong ( ) ) ;
6371 }
6472
73+ [ Fact ]
74+ public void ListValuesUHugeInt ( )
75+ {
76+ ListValuesInternal ( "UHugeInt" , faker => BigInteger . Subtract ( DuckDBHugeInt . HugeIntMaxValue , faker . Random . Int ( min : 0 ) ) ) ;
77+ }
78+
6579 [ Fact ]
6680 public void ListValuesDecimal ( )
6781 {
@@ -98,13 +112,23 @@ public void ListValuesString()
98112 ListValuesInternal ( "Varchar" , faker => faker . Random . Utf16String ( ) ) ;
99113 }
100114
115+ [ Fact ]
116+ public void ListValuesInterval ( )
117+ {
118+ ListValuesInternal ( "Interval" , faker =>
119+ {
120+ var timespan = faker . Date . Timespan ( ) ;
121+
122+ return TimeSpan . FromTicks ( timespan . Ticks - timespan . Ticks % 10 ) ;
123+ } ) ;
124+ }
125+
101126 [ Fact ]
102127 public void ArrayValuesInt ( )
103128 {
104129 ListValuesInternal ( "Integer" , faker => faker . Random . Int ( ) , 5 ) ;
105130 }
106131
107-
108132 private void ListValuesInternal < T > ( string typeName , Func < Faker , T > generator , int ? length = null )
109133 {
110134 var rows = 2000 ;
0 commit comments