--- a/testsuite/test_rounding.pro	2026-04-09 20:47:09.851979075 +0200
+++ b/testsuite/test_rounding.pro	2026-04-09 21:01:46.643929351 +0200
@@ -51,12 +51,17 @@
 expected=[123, -123]
 ;
 for ii=0, N_ELEMENTS(list_numeric_types)-1 do begin
+   ;; Cannot assign negative values to unsigned. Dropping the negative seed
+   ;; for those unsigned types
+   is_unsigned = (types[ii] EQ 1) OR (types[ii] EQ 12) OR (types[ii] EQ 13) OR (types[ii] EQ 15)
+   tseed     = is_unsigned ? seed[0]     : seed
+   texpected = is_unsigned ? expected[0] : expected
    ;;
-   if KEYWORD_SET(round) then res_int=ROUND(FIX(seed, type=types[ii]))
-   if KEYWORD_SET(ceil) then res_int=CEIL(FIX(seed, type=types[ii]))
-   if KEYWORD_SET(floor) then res_int=FLOOR(FIX(seed, type=types[ii]))
+   if KEYWORD_SET(round) then res_int=ROUND(FIX(tseed, type=types[ii]))
+   if KEYWORD_SET(ceil) then res_int=CEIL(FIX(tseed, type=types[ii]))
+   if KEYWORD_SET(floor) then res_int=FLOOR(FIX(tseed, type=types[ii]))
    ;;
-   expected_int=FIX(expected, type=list_numeric_types[ii])
+   expected_int=FIX(texpected, type=list_numeric_types[ii])
    ;;
    if KEYWORD_SET(verbose) then begin
       HELP, res_int
