public void long_interval_for_easy_cards() { var difficultyRating = DifficultyRating.Easiest; var daysSincePreviousReview = 11; var item = new ReviewItemBuilder() .WithLastReviewDate(_clock.Now().AddDays(-1)) .WitPreviousReviewDate(daysSincePreviousReview) .WithDifficultyRating(difficultyRating) .WithCorrectReviewStreak(3) .Build(); var strategy = new SuperMemo2ReviewStrategy(_clock); var nextReview = strategy.NextReview(item); var expectedInterval = (daysSincePreviousReview - 1) * strategy.DifficultyRatingToEasinessFactor(difficultyRating); Assert.That(nextReview, Is.EqualTo(item.ReviewDate.AddDays(expectedInterval))); }