1
- using System . Collections . Generic ;
2
- using System ;
3
- using Bogus ;
1
+ using Bogus ;
2
+ using DuckDB . NET . Native ;
4
3
using FluentAssertions ;
4
+ using System ;
5
+ using System . Collections . Generic ;
6
+ using System . Numerics ;
5
7
using Xunit ;
6
8
7
9
namespace DuckDB . NET . Test ;
@@ -38,6 +40,12 @@ public void ListValuesLong()
38
40
ListValuesInternal ( "BigInt" , faker => faker . Random . Long ( ) ) ;
39
41
}
40
42
43
+ [ Fact ]
44
+ public void ListValuesHugeInt ( )
45
+ {
46
+ ListValuesInternal ( "HugeInt" , faker => BigInteger . Subtract ( DuckDBHugeInt . HugeIntMaxValue , faker . Random . Int ( min : 0 ) ) ) ;
47
+ }
48
+
41
49
[ Fact ]
42
50
public void ListValuesByte ( )
43
51
{
@@ -62,6 +70,12 @@ public void ListValuesULong()
62
70
ListValuesInternal ( "UBigInt" , faker => faker . Random . ULong ( ) ) ;
63
71
}
64
72
73
+ [ Fact ]
74
+ public void ListValuesUHugeInt ( )
75
+ {
76
+ ListValuesInternal ( "UHugeInt" , faker => BigInteger . Subtract ( DuckDBHugeInt . HugeIntMaxValue , faker . Random . Int ( min : 0 ) ) ) ;
77
+ }
78
+
65
79
[ Fact ]
66
80
public void ListValuesDecimal ( )
67
81
{
@@ -98,13 +112,23 @@ public void ListValuesString()
98
112
ListValuesInternal ( "Varchar" , faker => faker . Random . Utf16String ( ) ) ;
99
113
}
100
114
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
+
101
126
[ Fact ]
102
127
public void ArrayValuesInt ( )
103
128
{
104
129
ListValuesInternal ( "Integer" , faker => faker . Random . Int ( ) , 5 ) ;
105
130
}
106
131
107
-
108
132
private void ListValuesInternal < T > ( string typeName , Func < Faker , T > generator , int ? length = null )
109
133
{
110
134
var rows = 2000 ;
0 commit comments