(test-begin "test-actors")
+;;; Some test dummy values
+;;; ======================
+
+(define %fake-hive-id "the-main-hive")
+;; Some fake ids for actors
+(define %fake-emo-id (make-address "emo" %fake-hive-id))
+(define %fake-proog-id (make-address "proog" %fake-hive-id))
+(define %fake-hive-actor-id (make-address "hive" %fake-hive-id))
+
+(define test-message
+ (make-message ((simple-message-id-generator))
+ %fake-emo-id
+ %fake-hive-actor-id ; Bootstrap messages come from the hive
+ 'greet-proog `((target . ,%fake-proog-id))))
+
;;; Actor utilities
;;; ===============
'danger-danger))
+;; Make sure our test message serializes and deserializes okay
+
+(let ((reread-message
+ (read-message-from-string
+ (with-output-to-string
+ (lambda () (write-message test-message))))))
+ (test-assert (message? reread-message))
+ ;; Make sure that all the properties are the same from
+ ;; the original message to the re-read message
+ (for-each
+ (lambda (getter)
+ (test-equal (getter test-message) (getter reread-message)))
+ (list message-id message-to message-from message-action message-body
+ message-in-reply-to message-wants-reply
+ (@@ (8sync systems actors) message-replied)
+ (@@ (8sync systems actors) message-deferred-reply))))
+
(test-end "test-agenda")
(test-exit)