diff options
| author | Craig Jennings <c@cjennings.net> | 2026-05-27 20:47:35 -0500 |
|---|---|---|
| committer | Craig Jennings <c@cjennings.net> | 2026-05-27 20:47:35 -0500 |
| commit | 39d01b75ac679410821ce5e16c09ec6b7799f791 (patch) | |
| tree | d825389532e98a9bcfc3fddd87b787c7879c5dcc /tests/test-org-drill-additional-coverage.el | |
| parent | 198e772efbb17cc8dbd514b0c0487d780c5e3eaa (diff) | |
| download | org-drill-39d01b75ac679410821ce5e16c09ec6b7799f791.tar.gz org-drill-39d01b75ac679410821ce5e16c09ec6b7799f791.zip | |
refactor: thread card-state struct through the item-data round-trip
Second step of #147. get-item-data now returns an org-drill-card-state and store-item-data takes one, so the six recall fields move as named slots instead of a positional list. The three call sites (smart-reschedule, hypothetical-next-review-date, copy-scheduling-to-marker) read scheduler inputs through accessors and build a struct for the store, which removes the hand re-ordering between the get-shape and the store-shape.
Behavior is unchanged. The legacy LEARN_DATA read path and the virgin-item sentinel are preserved field-for-field, and store takes just the struct because its last-interval slot already holds the interval to persist. The schedulers still take positional args; they adopt the struct in the following commits.
I updated the round-trip, integration, and setup-helper tests to build and read the struct via a small list-view helper, so the existing expected-value assertions stay readable.
Diffstat (limited to 'tests/test-org-drill-additional-coverage.el')
| -rw-r--r-- | tests/test-org-drill-additional-coverage.el | 4 |
1 files changed, 2 insertions, 2 deletions
diff --git a/tests/test-org-drill-additional-coverage.el b/tests/test-org-drill-additional-coverage.el index f8f68dd..6d97614 100644 --- a/tests/test-org-drill-additional-coverage.el +++ b/tests/test-org-drill-additional-coverage.el @@ -137,7 +137,7 @@ new-entries." "DRILL_CARD_WEIGHT > 1 stretches the next-interval delta — the resulting SCHEDULED date is closer to today than without weight." (with-fresh-drill-entry - (org-drill-store-item-data 10 3 0 3 4.5 2.5) + (org-drill-store-item-data (make-org-drill-card-state :last-interval 10 :repetitions 3 :failures 0 :total-repeats 3 :meanq 4.5 :ease 2.5)) (with-fixed-now (let ((sched-no-weight nil) (sched-with-weight nil)) @@ -145,7 +145,7 @@ SCHEDULED date is closer to today than without weight." (org-drill-smart-reschedule 5) (setq sched-no-weight (org-entry-get (point) "SCHEDULED")) ;; Reset and reschedule with weight=2. - (org-drill-store-item-data 10 3 0 3 4.5 2.5) + (org-drill-store-item-data (make-org-drill-card-state :last-interval 10 :repetitions 3 :failures 0 :total-repeats 3 :meanq 4.5 :ease 2.5)) (org-set-property "DRILL_CARD_WEIGHT" "2") (org-drill-smart-reschedule 5) (setq sched-with-weight (org-entry-get (point) "SCHEDULED")) |
