2020-04-27 18:27:48 +00:00
|
|
|
#lang syndicate/test-implementation
|
2018-04-29 15:07:49 +00:00
|
|
|
|
|
|
|
(test-case
|
|
|
|
[(assertion-struct greeting (text))
|
|
|
|
|
|
|
|
(spawn #:name "A" (assert (greeting "Hi from outer space!")))
|
|
|
|
(spawn #:name "B" (on (asserted (greeting $t))
|
|
|
|
(printf "Outer dataspace: ~a\n" t)))
|
|
|
|
|
|
|
|
(dataspace #:name "C"
|
|
|
|
(spawn #:name "D" (assert (outbound (greeting "Hi from middle!"))))
|
|
|
|
(spawn #:name "E" (on (asserted (inbound (greeting $t)))
|
|
|
|
(printf "Middle dataspace: ~a\n" t)))
|
|
|
|
|
|
|
|
(dataspace #:name "F"
|
|
|
|
(spawn #:name "G" (assert (outbound (outbound (greeting "Inner!")))))
|
|
|
|
(spawn #:name "H" (on (asserted (inbound (inbound (greeting $t))))
|
|
|
|
(printf "Inner dataspace: ~a\n" t)))))]
|
|
|
|
no-crashes
|
2018-05-06 09:55:02 +00:00
|
|
|
(expected-output (set "Outer dataspace: Hi from outer space!"
|
|
|
|
"Middle dataspace: Hi from outer space!"
|
|
|
|
"Inner dataspace: Hi from outer space!"
|
|
|
|
"Outer dataspace: Hi from middle!"
|
|
|
|
"Middle dataspace: Hi from middle!"
|
|
|
|
"Inner dataspace: Hi from middle!"
|
|
|
|
"Outer dataspace: Inner!"
|
|
|
|
"Middle dataspace: Inner!"
|
|
|
|
"Inner dataspace: Inner!")))
|