public void all_time_stats_for_one_previous_session_returns_just_that_session() { UserSession session = new UserSession(_user); ITextSample sample = new TextSample() { SourceKey = "http://some_url", SourceType = TextSampleSourceType.Wikipedia, Text = "this is some sample text shown" }; KeySequence seq = session.StartNewSequence(sample); var results = session.StopSequence("text entered", TimeSpan.FromMilliseconds(500)); AllTimeStatsCalculator calc = new AllTimeStatsCalculator(_user); var speedThisInstance = results .Where(r => r.GetAnalyticType() == Analytics.AnalyticType.Speed) .Cast <Analytics.Speed>() .FirstOrDefault(); var speedCalcs = calc.GetSpeedAllTime(); Assert.That(speedCalcs.TotalTimeInMilliSec, Is.EqualTo(speedThisInstance.TotalTime.TotalMilliseconds)); Assert.That(speedCalcs.NumEntitiesRepresented, Is.EqualTo(1)); Assert.That(speedCalcs.WordPerMin, Is.EqualTo(speedThisInstance.WordsPerMinute)); Assert.That(speedCalcs.CharsPerSec, Is.EqualTo(speedThisInstance.CharsPerSecond)); Assert.That(speedCalcs.CreateDate, Is.Not.Null); }
public void all_time_stats_for_multiple_previous_sessions_averages() { UserSession session = new UserSession(_user); ITextSample sample = new TextSample() { SourceKey = "http://some_url", SourceType = TextSampleSourceType.Wikipedia, Text = "this is some sample text shown" }; List <int> spans = new List <int>(); for (int i = 1; i <= 10; i++) { int timespan = i * 1000; spans.Add(timespan); KeySequence seq = session.StartNewSequence(sample); var results = session.StopSequence("text entered", TimeSpan.FromMilliseconds(timespan)); } AllTimeStatsCalculator calc = new AllTimeStatsCalculator(_user); var speedCalcs = calc.GetSpeedAllTime(); Assert.That(speedCalcs.TotalTimeInMilliSec, Is.EqualTo(spans.Average())); Assert.That(speedCalcs.NumEntitiesRepresented, Is.EqualTo(10)); }
public void all_time_stats_for_zero_previous_sessions_returns_zeros() { AllTimeStatsCalculator calc = new AllTimeStatsCalculator(_user); var speedCalcs = calc.GetSpeedAllTime(); Assert.That(speedCalcs, Is.Null); var accuracyCalcs = calc.GetAccuracyAllTime(); Assert.That(accuracyCalcs, Is.Null); }
public HttpResponseMessage HistoryDetails([FromBody] JObject data) { JWTToken token = data["token"].ToObject <JWTToken>(); string seqId = data["sequenceId"].ToString(); Data.KCUser user = new Data.KCUser() { UserId = Guid.Parse(token.UserId) }; var userMgr = new KeyCdr.History.UserSessionHistory(); Data.KeySequence detail = userMgr.GetHistoryDetailsByKeySequence(Guid.Parse(seqId)); AllTimeStatsCalculator allTimeStats = new AllTimeStatsCalculator(user); UserHistoryDetailsModel result = UserHistoryDetailsModel.Create(detail); result.AnalysisSpeedAllTime = allTimeStats.GetSpeedAllTime(); result.AnalysisAccuracyAllTime = allTimeStats.GetAccuracyAllTime(); return(Request.CreateResponse(HttpStatusCode.OK, result)); }