|
|
|
@ -14,7 +14,7 @@ https://github.com/mbutterick/restructure/blob/master/test/Number.coffee
|
|
|
|
|
(parameterize ([current-input-port (open-input-bytes (bytes #xab #xff))])
|
|
|
|
|
(check-equal? (decode uint8) #xab)
|
|
|
|
|
(check-equal? (decode uint8) #xff))
|
|
|
|
|
(check-equal? (size uint8) 1)
|
|
|
|
|
(check-equal? (send uint8 x:size) 1)
|
|
|
|
|
(let ([port (open-output-bytes)])
|
|
|
|
|
(encode uint8 #xab port)
|
|
|
|
|
(encode uint8 #xff port)
|
|
|
|
@ -28,7 +28,7 @@ https://github.com/mbutterick/restructure/blob/master/test/Number.coffee
|
|
|
|
|
(parameterize ([current-input-port (open-input-bytes (bytes #xab #xff))])
|
|
|
|
|
(check-equal? (decode myuint8) #xdeadbeef)
|
|
|
|
|
(check-equal? (decode myuint8) #xdeadbeef))
|
|
|
|
|
(check-equal? (size myuint8) 1)
|
|
|
|
|
(check-equal? (send myuint8 x:size) 1)
|
|
|
|
|
(let ([port (open-output-bytes)])
|
|
|
|
|
(encode myuint8 #xab port)
|
|
|
|
|
(encode myuint8 #xff port)
|
|
|
|
@ -42,13 +42,13 @@ https://github.com/mbutterick/restructure/blob/master/test/Number.coffee
|
|
|
|
|
(test-case
|
|
|
|
|
"number: uint16be: decode, size, encode"
|
|
|
|
|
(check-equal? (decode uint16be (open-input-bytes (bytes #xab #xff))) #xabff)
|
|
|
|
|
(check-equal? (size uint16be) 2)
|
|
|
|
|
(check-equal? (send uint16be x:size) 2)
|
|
|
|
|
(check-equal? (encode uint16be #xabff #f) (bytes #xab #xff)))
|
|
|
|
|
|
|
|
|
|
(test-case
|
|
|
|
|
"number: uint16le: decode, size, encode"
|
|
|
|
|
(check-equal? (decode uint16le (open-input-bytes (bytes #xff #xab))) #xabff)
|
|
|
|
|
(check-equal? (size uint16le) 2)
|
|
|
|
|
(check-equal? (send uint16le x:size) 2)
|
|
|
|
|
(check-equal? (encode uint16le #xabff #f) (bytes #xff #xab)))
|
|
|
|
|
|
|
|
|
|
(test-case
|
|
|
|
@ -58,13 +58,13 @@ https://github.com/mbutterick/restructure/blob/master/test/Number.coffee
|
|
|
|
|
(test-case
|
|
|
|
|
"number: uint24be: decode, size, encode"
|
|
|
|
|
(check-equal? (decode uint24be (open-input-bytes (bytes #xff #xab #x24))) #xffab24)
|
|
|
|
|
(check-equal? (size uint24be) 3)
|
|
|
|
|
(check-equal? (send uint24be x:size) 3)
|
|
|
|
|
(check-equal? (encode uint24be #xffab24 #f) (bytes #xff #xab #x24)))
|
|
|
|
|
|
|
|
|
|
(test-case
|
|
|
|
|
"number: uint24le: decode, size, encode"
|
|
|
|
|
(check-equal? (decode uint24le (open-input-bytes (bytes #x24 #xab #xff))) #xffab24)
|
|
|
|
|
(check-equal? (size uint24le) 3)
|
|
|
|
|
(check-equal? (send uint24le x:size) 3)
|
|
|
|
|
(check-equal? (encode uint24le #xffab24 #f) (bytes #x24 #xab #xff)))
|
|
|
|
|
|
|
|
|
|
(test-case
|
|
|
|
@ -74,13 +74,13 @@ https://github.com/mbutterick/restructure/blob/master/test/Number.coffee
|
|
|
|
|
(test-case
|
|
|
|
|
"number: uint32be: decode, size, encode"
|
|
|
|
|
(check-equal? (decode uint32be (open-input-bytes (bytes #xff #xab #x24 #xbf))) #xffab24bf)
|
|
|
|
|
(check-equal? (size uint32be) 4)
|
|
|
|
|
(check-equal? (send uint32be x:size) 4)
|
|
|
|
|
(check-equal? (encode uint32be #xffab24bf #f) (bytes #xff #xab #x24 #xbf)))
|
|
|
|
|
|
|
|
|
|
(test-case
|
|
|
|
|
"number: uint32le: decode, size, encode"
|
|
|
|
|
(check-equal? (decode uint32le (open-input-bytes (bytes #xbf #x24 #xab #xff))) #xffab24bf)
|
|
|
|
|
(check-equal? (size uint32le) 4)
|
|
|
|
|
(check-equal? (send uint32le x:size) 4)
|
|
|
|
|
(check-equal? (encode uint32le #xffab24bf #f) (bytes #xbf #x24 #xab #xff)))
|
|
|
|
|
|
|
|
|
|
(test-case
|
|
|
|
@ -88,7 +88,7 @@ https://github.com/mbutterick/restructure/blob/master/test/Number.coffee
|
|
|
|
|
(let ([port (open-input-bytes (bytes #x7f #xff))])
|
|
|
|
|
(check-equal? (decode int8 port) 127)
|
|
|
|
|
(check-equal? (decode int8 port) -1))
|
|
|
|
|
(check-equal? (size int8) 1)
|
|
|
|
|
(check-equal? (send int8 x:size) 1)
|
|
|
|
|
(let ([port (open-output-bytes)])
|
|
|
|
|
(encode int8 127 port)
|
|
|
|
|
(encode int8 -1 port)
|
|
|
|
@ -102,7 +102,7 @@ https://github.com/mbutterick/restructure/blob/master/test/Number.coffee
|
|
|
|
|
"number: int16be: decode, size, encode"
|
|
|
|
|
(let ([port (open-input-bytes (bytes #xff #xab))])
|
|
|
|
|
(check-equal? (decode int16be port) -85))
|
|
|
|
|
(check-equal? (size int16be) 2)
|
|
|
|
|
(check-equal? (send int16be x:size) 2)
|
|
|
|
|
(let ([port (open-output-bytes)])
|
|
|
|
|
(encode int16be -85 port)
|
|
|
|
|
(check-equal? (get-output-bytes port) (bytes #xff #xab))))
|
|
|
|
@ -110,7 +110,7 @@ https://github.com/mbutterick/restructure/blob/master/test/Number.coffee
|
|
|
|
|
(test-case
|
|
|
|
|
"number: int16le: decode, size, encode"
|
|
|
|
|
(check-equal? (decode int16le (open-input-bytes (bytes #xab #xff))) -85)
|
|
|
|
|
(check-equal? (size int16le) 2)
|
|
|
|
|
(check-equal? (send int16le x:size) 2)
|
|
|
|
|
(check-equal? (encode int16le -85 #f) (bytes #xab #xff)))
|
|
|
|
|
|
|
|
|
|
(test-case
|
|
|
|
@ -120,13 +120,13 @@ https://github.com/mbutterick/restructure/blob/master/test/Number.coffee
|
|
|
|
|
(test-case
|
|
|
|
|
"number: int24be: decode, size, encode"
|
|
|
|
|
(check-equal? (decode int24be (open-input-bytes (bytes #xff #xab #x24))) -21724)
|
|
|
|
|
(check-equal? (size int24be) 3)
|
|
|
|
|
(check-equal? (send int24be x:size) 3)
|
|
|
|
|
(check-equal? (encode int24be -21724 #f) (bytes #xff #xab #x24)))
|
|
|
|
|
|
|
|
|
|
(test-case
|
|
|
|
|
"number: int24le: decode, size, encode"
|
|
|
|
|
(check-equal? (decode int24le (open-input-bytes (bytes #x24 #xab #xff))) -21724)
|
|
|
|
|
(check-equal? (size int24le) 3)
|
|
|
|
|
(check-equal? (send int24le x:size) 3)
|
|
|
|
|
(check-equal? (encode int24le -21724 #f) (bytes #x24 #xab #xff)))
|
|
|
|
|
(test-case
|
|
|
|
|
"number: int32 is the same endianness as the platform"
|
|
|
|
@ -136,13 +136,13 @@ https://github.com/mbutterick/restructure/blob/master/test/Number.coffee
|
|
|
|
|
(test-case
|
|
|
|
|
"number: int32be: decode, size, encode"
|
|
|
|
|
(check-equal? (decode int32be (open-input-bytes (bytes #xff #xab #x24 #xbf))) -5561153)
|
|
|
|
|
(check-equal? (size int32be) 4)
|
|
|
|
|
(check-equal? (send int32be x:size) 4)
|
|
|
|
|
(check-equal? (encode int32be -5561153 #f) (bytes #xff #xab #x24 #xbf)))
|
|
|
|
|
|
|
|
|
|
(test-case
|
|
|
|
|
"number: int32le: decode, size, encode"
|
|
|
|
|
(check-equal? (decode int32le (open-input-bytes (bytes #xbf #x24 #xab #xff))) -5561153)
|
|
|
|
|
(check-equal? (size int32le) 4)
|
|
|
|
|
(check-equal? (send int32le x:size) 4)
|
|
|
|
|
(check-equal? (encode int32le -5561153 #f) (bytes #xbf #x24 #xab #xff)))
|
|
|
|
|
|
|
|
|
|
(test-case
|
|
|
|
@ -152,13 +152,13 @@ https://github.com/mbutterick/restructure/blob/master/test/Number.coffee
|
|
|
|
|
(test-case
|
|
|
|
|
"number: floatbe: decode, size, encode"
|
|
|
|
|
(check-= (decode floatbe (open-input-bytes (bytes #x43 #x7a #x8c #xcd))) 250.55 0.01)
|
|
|
|
|
(check-equal? (size floatbe) 4)
|
|
|
|
|
(check-equal? (send floatbe x:size) 4)
|
|
|
|
|
(check-equal? (encode floatbe 250.55 #f) (bytes #x43 #x7a #x8c #xcd)))
|
|
|
|
|
|
|
|
|
|
(test-case
|
|
|
|
|
"number: floatle: decode, size, encode"
|
|
|
|
|
(check-= (decode floatle (open-input-bytes (bytes #xcd #x8c #x7a #x43))) 250.55 0.01)
|
|
|
|
|
(check-equal? (size floatle) 4)
|
|
|
|
|
(check-equal? (send floatle x:size) 4)
|
|
|
|
|
(check-equal? (encode floatle 250.55 #f) (bytes #xcd #x8c #x7a #x43)))
|
|
|
|
|
|
|
|
|
|
(test-case
|
|
|
|
@ -168,13 +168,13 @@ https://github.com/mbutterick/restructure/blob/master/test/Number.coffee
|
|
|
|
|
(test-case
|
|
|
|
|
"number: doublebe: decode, size, encode"
|
|
|
|
|
(check-equal? (decode doublebe (open-input-bytes (bytes #x40 #x93 #x4a #x3d #x70 #xa3 #xd7 #x0a))) 1234.56)
|
|
|
|
|
(check-equal? (size doublebe) 8)
|
|
|
|
|
(check-equal? (send doublebe x:size) 8)
|
|
|
|
|
(check-equal? (encode doublebe 1234.56 #f) (bytes #x40 #x93 #x4a #x3d #x70 #xa3 #xd7 #x0a)))
|
|
|
|
|
|
|
|
|
|
(test-case
|
|
|
|
|
"number: doublele: decode, size, encode"
|
|
|
|
|
(check-equal? (decode doublele (open-input-bytes (bytes #x0a #xd7 #xa3 #x70 #x3d #x4a #x93 #x40))) 1234.56)
|
|
|
|
|
(check-equal? (size doublele) 8)
|
|
|
|
|
(check-equal? (send doublele x:size) 8)
|
|
|
|
|
(check-equal? (encode doublele 1234.56 #f) (bytes #x0a #xd7 #xa3 #x70 #x3d #x4a #x93 #x40)))
|
|
|
|
|
|
|
|
|
|
(test-case
|
|
|
|
@ -185,13 +185,13 @@ https://github.com/mbutterick/restructure/blob/master/test/Number.coffee
|
|
|
|
|
(test-case
|
|
|
|
|
"number: fixed16be: decode, size, encode"
|
|
|
|
|
(check-= (decode fixed16be (open-input-bytes (bytes #x19 #x57))) 25.34 0.01)
|
|
|
|
|
(check-equal? (size fixed16be) 2)
|
|
|
|
|
(check-equal? (send fixed16be x:size) 2)
|
|
|
|
|
(check-equal? (encode fixed16be 25.34 #f) (bytes #x19 #x57)))
|
|
|
|
|
|
|
|
|
|
(test-case
|
|
|
|
|
"number: fixed16le: decode, size, encode"
|
|
|
|
|
(check-= (decode fixed16le (open-input-bytes (bytes #x57 #x19))) 25.34 0.01)
|
|
|
|
|
(check-equal? (size fixed16le) 2)
|
|
|
|
|
(check-equal? (send fixed16le x:size) 2)
|
|
|
|
|
(check-equal? (encode fixed16le 25.34 #f) (bytes #x57 #x19)))
|
|
|
|
|
|
|
|
|
|
(test-case
|
|
|
|
@ -202,11 +202,11 @@ https://github.com/mbutterick/restructure/blob/master/test/Number.coffee
|
|
|
|
|
(test-case
|
|
|
|
|
"number: fixed32be: decode, size, encode"
|
|
|
|
|
(check-= (decode fixed32be (open-input-bytes (bytes #x00 #xfa #x8c #xcc))) 250.55 0.01)
|
|
|
|
|
(check-equal? (size fixed32be) 4)
|
|
|
|
|
(check-equal? (send fixed32be x:size) 4)
|
|
|
|
|
(check-equal? (encode fixed32be 250.55 #f) (bytes #x00 #xfa #x8c #xcc)))
|
|
|
|
|
|
|
|
|
|
(test-case
|
|
|
|
|
"number: fixed32le: decode, size, encode"
|
|
|
|
|
(check-= (decode fixed32le (open-input-bytes (bytes #xcc #x8c #xfa #x00))) 250.55 0.01)
|
|
|
|
|
(check-equal? (size fixed32le) 4)
|
|
|
|
|
(check-equal? (send fixed32le x:size) 4)
|
|
|
|
|
(check-equal? (encode fixed32le 250.55 #f) (bytes #xcc #x8c #xfa #x00)))
|