You cannot select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
typesetting/pitfall/restructure/test.rkt

22 lines
521 B
Racket

#lang restructure/racket
(require "main.rkt")
(define Person
(make-object RStruct
(mhash 'name uint16
'age uint8)))
;; decode a person from a buffer
(define stream (open-input-bytes #"ABC"))
(define x (send Person decode stream))
(test-module
(check-equal? (hash-ref x 'name) 16961)
(check-equal? (hash-ref x 'age) 67))
;; encode a person from a hash
(define out (open-output-bytes))
(send Person encode out (hasheq 'name 16961 'age 67))
(test-module
(check-equal? (get-output-bytes out) #"ABC"))