@@ -244,6 +244,59 @@ public void V2_ConvertToEntry_HashSet()
244
244
Assert . AreEqual ( expectedList , entry ) ;
245
245
}
246
246
247
+ #if NET8_0_OR_GREATER
248
+ [ DataTestMethod ]
249
+ [ DynamicData ( ( nameof ( DynamoDBEntryConversions ) ) ) ]
250
+ public void ConvertToEntry_DateOnly ( DynamoDBEntryConversion conversion )
251
+ {
252
+ var dateOnly = new DateOnly ( 2024 , 07 , 03 ) ;
253
+ var entry = conversion . ConvertToEntry ( dateOnly ) ;
254
+ Assert . AreEqual ( new Primitive ( "2024-07-03" , false ) , entry ) ;
255
+ }
256
+
257
+ [ DataTestMethod ]
258
+ [ DynamicData ( ( nameof ( DynamoDBEntryConversions ) ) ) ]
259
+ public void ConvertFromEntry_DateOnly ( DynamoDBEntryConversion conversion )
260
+ {
261
+ var entry = new Primitive ( "2024-07-03" , false ) ;
262
+ var actualDateOnly = conversion . ConvertFromEntry < DateOnly > ( entry ) ;
263
+ var expectedDateOnly = new DateOnly ( 2024 , 07 , 03 ) ;
264
+ Assert . AreEqual ( expectedDateOnly , actualDateOnly ) ;
265
+ }
266
+
267
+ [ DataTestMethod ]
268
+ [ DynamicData ( ( nameof ( DynamoDBEntryConversions ) ) ) ]
269
+ public void ConvertToEntry_TimeOnly ( DynamoDBEntryConversion conversion )
270
+ {
271
+ var timeOnly = new TimeOnly ( 18 , 31 , 56 , 123 ) ;
272
+ var entry = conversion . ConvertToEntry ( timeOnly ) ;
273
+ Assert . AreEqual ( new Primitive ( "18:31:56.123" , false ) , entry ) ;
274
+ }
275
+
276
+ [ DataTestMethod ]
277
+ [ DynamicData ( ( nameof ( DynamoDBEntryConversions ) ) ) ]
278
+ public void ConvertFromEntry_TimeOnly ( DynamoDBEntryConversion conversion )
279
+ {
280
+ var entry = new Primitive ( "18:31:56.123" , false ) ;
281
+ var actualTimeOnly = conversion . ConvertFromEntry < TimeOnly > ( entry ) ;
282
+ var expectedTimeOnly = new TimeOnly ( 18 , 31 , 56 , 123 ) ;
283
+ Assert . AreEqual ( expectedTimeOnly , actualTimeOnly ) ;
284
+ }
285
+
286
+ [ DataTestMethod ]
287
+ [ DynamicData ( ( nameof ( DynamoDBEntryConversions ) ) ) ]
288
+ public void ConvertFromEntry_ShouldBeAbleToReadDateOnlyAsDateTime ( DynamoDBEntryConversion conversion )
289
+ {
290
+ var dateOnly = new DateOnly ( 2024 , 07 , 03 ) ;
291
+ var entry = conversion . ConvertToEntry ( dateOnly ) ;
292
+
293
+ var actualDateTime = conversion . ConvertFromEntry < DateTime > ( entry ) ;
294
+ var expectedDateTime = new DateTime ( 2024 , 07 , 03 , 0 , 0 , 0 , DateTimeKind . Utc ) ;
295
+
296
+ Assert . AreEqual ( expectedDateTime , actualDateTime ) ;
297
+ }
298
+ #endif
299
+
247
300
private void AssertAllConvertersAreRegistered ( DynamoDBEntryConversion conversion , string suffix )
248
301
{
249
302
var converters = GetConverters ( suffix ) ;
0 commit comments