public void ProcessResponse_Should_ResetIntervalForBadAnswer(ResponseQuality qual) { var interval = RepetitionInterval.FromValues(4, 2.5f); interval.ProcessResponse(qual); interval.Interval.Should().Be(1); }
public void ProcessResponse_Should_UpdateInterval() { const int initialInterval = 3; var interval = RepetitionInterval.FromValues(initialInterval, 2.5f); interval.ProcessResponse(ResponseQuality.CorrectPerfect); interval.Interval.Should().BeGreaterThan(6); interval.EasinessFactor.Should().NotBe(2.5f); }
public void ProcessResponse_Should_UpdateIntervalFirstValues() { var interval = RepetitionInterval.FromValues(0, 2.5f); interval.ProcessResponse(ResponseQuality.CorrectPerfect); interval.Interval.Should().Be(1); interval.ProcessResponse(ResponseQuality.CorrectPerfect); interval.Interval.Should().Be(6); }
public void ProcessResponse_Should_Require3CorrectResponsesFirst() { var interval = RepetitionInterval.NewDefault(); interval.ProcessResponse(ResponseQuality.CorrectPerfect); interval.ProcessResponse(ResponseQuality.IncorrectBlackout); interval.ProcessResponse(ResponseQuality.CorrectPerfect); interval.ProcessResponse(ResponseQuality.CorrectDifficult); interval.Interval.Should().Be(1); }
public void ProcessResponse_ShouldNot_UpdateEasinessFactorFirst3() { var interval = RepetitionInterval.NewDefault(); interval.ProcessResponse(ResponseQuality.CorrectPerfect); interval.Interval.Should().Be(0); interval.ProcessResponse(ResponseQuality.CorrectPerfect); interval.Interval.Should().Be(0); interval.ProcessResponse(ResponseQuality.CorrectPerfect); interval.Interval.Should().Be(1); }
public void ProcessResponse_ShouldNot_UpdateStartBadAnswer(ResponseQuality badQuality) { var interval = RepetitionInterval.NewDefault(); interval.ProcessResponse(badQuality); interval.ProcessResponse(badQuality); interval.ProcessResponse(badQuality); interval.Interval.Should().Be(0); interval.ProcessResponse(ResponseQuality.CorrectPerfect); interval.ProcessResponse(ResponseQuality.CorrectPerfect); interval.Interval.Should().Be(0); }