@@ -31,10 +31,10 @@ private void TestInsertSelect<T>(string duckDbType, Func<Faker, T> generator, in
3131
3232 var value = reader . GetFieldValue < List < T > > ( 0 ) ;
3333 value . Should ( ) . BeEquivalentTo ( list ) ;
34-
35- var arrayValue = reader . GetFieldValue < List < T > > ( 1 ) ;
34+
35+ var arrayValue = reader . GetFieldValue < List < T > > ( 1 ) ;
3636 arrayValue . Should ( ) . BeEquivalentTo ( list . Take ( 10 ) ) ;
37-
37+
3838 Command . CommandText = $ "DROP TABLE ParameterListTest";
3939 Command . ExecuteNonQuery ( ) ;
4040 }
@@ -99,7 +99,7 @@ public void CanBindULongList()
9999 {
100100 TestInsertSelect ( "UBigInt" , faker => faker . Random . ULong ( ) ) ;
101101 }
102-
102+
103103 [ Fact ]
104104 public void CanBindFloatList ( )
105105 {
@@ -129,7 +129,7 @@ public void CanBindDateTimeList()
129129 {
130130 TestInsertSelect ( "Date" , faker => faker . Date . Past ( ) . Date ) ;
131131 }
132-
132+
133133 //[Fact]
134134 //public void CanBindDateTimeOffsetList()
135135 //{
@@ -152,4 +152,33 @@ public void CanBindIntervalList()
152152 return TimeSpan . FromTicks ( timespan . Ticks - timespan . Ticks % 10 ) ;
153153 } ) ;
154154 }
155+
156+ [ Fact ]
157+ public void CanBindDuckDBDateOnlyList ( )
158+ {
159+ TestInsertSelect ( "Date" , faker => ( DuckDBDateOnly ) faker . Date . Past ( ) . Date ) ;
160+ }
161+
162+ [ Fact ]
163+ public void CanBindDuckDBTimeOnlyList ( )
164+ {
165+ TestInsertSelect ( "Time" , faker => ( DuckDBTimeOnly ) faker . Date . Past ( ) ) ;
166+ }
167+
168+ [ Fact ]
169+ public void CanBindDateOnlyList ( )
170+ {
171+ TestInsertSelect ( "Date" , faker => DateOnly . FromDateTime ( faker . Date . Past ( ) . Date ) ) ;
172+ }
173+
174+ [ Fact ]
175+ public void CanBindTimeOnlyList ( )
176+ {
177+ TestInsertSelect ( "Time" , faker =>
178+ {
179+ //Truncate nanoseconds because duckdb doesn't store it.
180+ var dateTime = faker . Date . Past ( ) ;
181+ return new TimeOnly ( dateTime . TimeOfDay . Ticks - dateTime . TimeOfDay . Ticks % 10 ) ;
182+ } ) ;
183+ }
155184}
0 commit comments