2020-04-27 18:27:48 +00:00
|
|
|
#lang syndicate/test-implementation
|
2018-10-20 18:09:25 +00:00
|
|
|
|
|
|
|
(test-case
|
|
|
|
[(message-struct b (v))
|
|
|
|
(message-struct c (v))
|
|
|
|
(spawn #:name 'respondent
|
|
|
|
(on (asserted ($ val (list _ (vector _) (b (c _)) (vector _) _)))
|
|
|
|
;; ^ exercises a corner-case in `extend-skeleton!`
|
|
|
|
;; that exposed why `(update-path path pop-count 0)`
|
|
|
|
;; was wrong, and `(update-path path 0 0)` was right.
|
|
|
|
(send! 'ok)))]
|
|
|
|
no-crashes)
|
|
|
|
|
|
|
|
;;
|
|
|
|
;; Trie steps:
|
|
|
|
;;
|
|
|
|
;; ·
|
|
|
|
;; - () must be list/5
|
|
|
|
;; pop 0, get 1
|
|
|
|
;; - (1) must be vector/1
|
|
|
|
;; pop 1, get 2
|
|
|
|
;; - (2) must be b/1
|
|
|
|
;; pop 0, get 0
|
|
|
|
;; - (2 0) must be c/1
|
|
|
|
;; pop 2, get 3
|
|
|
|
;; - (3) must be vector/1
|