From e0399bcad2fb83d563c46e5ca70956dc9253e455 Mon Sep 17 00:00:00 2001 From: Damien Elmes Date: Mon, 25 Sep 2023 15:57:35 +1000 Subject: [PATCH] Allow cards with no learning history when not training --- rslib/src/scheduler/fsrs/weights.rs | 19 ++++++++++++++++++- 1 file changed, 18 insertions(+), 1 deletion(-) diff --git a/rslib/src/scheduler/fsrs/weights.rs b/rslib/src/scheduler/fsrs/weights.rs index 843813582..60a7871a2 100644 --- a/rslib/src/scheduler/fsrs/weights.rs +++ b/rslib/src/scheduler/fsrs/weights.rs @@ -153,7 +153,7 @@ pub(crate) fn single_card_revlog_to_items( if idx > 0 { entries.drain(..idx); } - } else { + } else if training { // we ignore cards that don't have any learning steps return None; } @@ -358,6 +358,23 @@ mod tests { ); } + #[test] + fn bypassed_learning_is_handled() { + assert_eq!( + convert( + &[ + RevlogEntry { + ease_factor: 2500, + ..revlog(RevlogReviewKind::Manual, 7) + }, + revlog(RevlogReviewKind::Review, 6), + ], + false, + ), + fsrs_items!([review(0)]) + ); + } + #[test] fn single_learning_step_skipped_when_training() { assert_eq!(