feat(psf): complete high-integrity loop for advanced features
This commit is contained in:
@@ -0,0 +1,24 @@
|
||||
(defpackage :org-skill-persistence-tests
|
||||
(:use :cl :fiveam :org-skill-object-store-persistence))
|
||||
|
||||
(in-package :org-skill-persistence-tests)
|
||||
|
||||
(def-suite persistence-suite
|
||||
:description "Tests for Object Store serialization fidelity.")
|
||||
|
||||
(in-suite persistence-suite)
|
||||
|
||||
(test serialize-org-object
|
||||
"Ensure a complex org-object struct can be dumped and re-read exactly."
|
||||
(let ((obj (org-agent:make-org-object
|
||||
:id "test-uuid"
|
||||
:type :HEADLINE
|
||||
:attributes '(:TITLE "Test Note" :TODO-STATE "TODO")
|
||||
:children '("child-1" "child-2"))))
|
||||
(let ((serialized (prin1-to-string `(setf (gethash "test-uuid" org-agent:*object-store*) ,obj))))
|
||||
;; Read back the form
|
||||
(let ((recovered-form (read-from-string serialized)))
|
||||
(let ((recovered-obj (nth 2 (nth 2 recovered-form))))
|
||||
(is (equal (org-agent:org-object-id recovered-obj) "test-uuid"))
|
||||
(is (eq (org-agent:org-object-type recovered-obj) :HEADLINE))
|
||||
(is (equal (getf (org-agent:org-object-attributes recovered-obj) :TITLE) "Test Note")))))))
|
||||
Reference in New Issue
Block a user