@@ -355,5 +355,75 @@ public async Task DNET304_CharOctetsParameterRoundtrip()
355355 }
356356 }
357357 }
358+
359+ [ Test ]
360+ public async Task DNET1036_ReadNumericScaleZero ( )
361+ {
362+ await using ( var transaction = await Connection . BeginTransactionAsync ( ) )
363+ {
364+ await using ( var command = new FbCommand ( "select cast(3 as numeric(18,0)) from rdb$database" , Connection , transaction ) )
365+ {
366+ await using ( var reader = await command . ExecuteReaderAsync ( ) )
367+ {
368+ await reader . ReadAsync ( ) ;
369+ Assert . AreEqual ( 3m , reader [ 0 ] ) ;
370+ }
371+ }
372+ await transaction . RollbackAsync ( ) ;
373+ }
374+ }
375+
376+ [ Test ]
377+ public async Task DNET1036_ReadDecimalScaleZero ( )
378+ {
379+ await using ( var transaction = await Connection . BeginTransactionAsync ( ) )
380+ {
381+ await using ( var command = new FbCommand ( "select cast(3 as decimal(18,0)) from rdb$database" , Connection , transaction ) )
382+ {
383+ await using ( var reader = await command . ExecuteReaderAsync ( ) )
384+ {
385+ await reader . ReadAsync ( ) ;
386+ Assert . AreEqual ( 3m , reader [ 0 ] ) ;
387+ }
388+ }
389+ await transaction . RollbackAsync ( ) ;
390+ }
391+ }
392+
393+ [ Test ]
394+ public async Task DNET1036_WriteNumericScaleZero ( )
395+ {
396+ await using ( var transaction = await Connection . BeginTransactionAsync ( ) )
397+ {
398+ await using ( var command = new FbCommand ( "select cast(@value as numeric(18,0)) from rdb$database" , Connection , transaction ) )
399+ {
400+ command . Parameters . AddWithValue ( "value" , 3m ) ;
401+ await using ( var reader = await command . ExecuteReaderAsync ( ) )
402+ {
403+ await reader . ReadAsync ( ) ;
404+ Assert . AreEqual ( 3m , reader [ 0 ] ) ;
405+ }
406+ }
407+ await transaction . RollbackAsync ( ) ;
408+ }
409+ }
410+
411+ [ Test ]
412+ public async Task DNET1036_WriteDecimalScaleZero ( )
413+ {
414+ await using ( var transaction = await Connection . BeginTransactionAsync ( ) )
415+ {
416+ await using ( var command = new FbCommand ( "select cast(@value as decimal(18,0)) from rdb$database" , Connection , transaction ) )
417+ {
418+ command . Parameters . AddWithValue ( "value" , 3m ) ;
419+ await using ( var reader = await command . ExecuteReaderAsync ( ) )
420+ {
421+ await reader . ReadAsync ( ) ;
422+ Assert . AreEqual ( 3m , reader [ 0 ] ) ;
423+ }
424+ }
425+ await transaction . RollbackAsync ( ) ;
426+ }
427+ }
358428 }
359429}
0 commit comments