#lang scheme (require (prefix-in my: "main.ss")) (require scheme/foreign) (require (planet schematics/schemeunit)) (define cases `(("short integer" ,_int8 "int8_t") ("unsigned short integer" ,_uint8 "uint8_t") ("integer" ,_int16 "int16_t") ("unsigned integer" ,_uint16 "int16_t") ("long integer" ,_int32 "int32_t") ("unsigned long integer" ,_uint32 "uint32_t") ("long long integer" ,_int64 "int64_t") ("unsigned long long integer" ,_uint64 "uint64_t"))) (define tests (test-suite "sizeof" (for-each (λ (case) (test-case (car case) (check-equal? (ctype-sizeof (cadr case)) (my:sizeof (caddr case) "stdint")))) cases))) (require (planet schematics/schemeunit/text-ui)) (define (test) (run-tests tests 'verbose))