private static MostSimilarSubmissionsHistogramData GetMostSimilarSubmissionsHistogramDataMock(int binsCount) { var bins = new List <MostSimilarSubmissionsBin>(); var step = 1.0 / binsCount; var random = new Random(12); for (var i = 0; i < binsCount; i += 1) { var left = step * i; var right = left + step; if (right > 1 - 0.00001) { right = 1.00001; } var bin = new MostSimilarSubmissionsBin { BinRightBorder = (decimal)Math.Round(right, 2), SubmissionsCount = random.Next(0, 10) }; bins.Add(bin); } return(new MostSimilarSubmissionsHistogramData { Bins = bins, }); }
private static async Task <MostSimilarSubmissionsHistogramData> GetMostSimilarSubmissionsHistogramData(Guid taskId, int binsCount) { var mostSimilarSubmissions = await antiPlagiarismClient.GetMostSimilarSubmissionsAsync(new GetMostSimilarSubmissionsParameters { TaskId = taskId }); var bins = new List <MostSimilarSubmissionsBin>(); var step = 1.0 / binsCount; for (var i = 0; i < binsCount; i += 1) { var left = step * i; var right = left + step; if (right > 1 - 0.00001) { right = 1.00001; } var count = mostSimilarSubmissions.MostSimilarSubmissions .Count(s => s.Weight >= left && s.Weight < right); var bin = new MostSimilarSubmissionsBin { BinRightBorder = (decimal)Math.Round(right, 2), SubmissionsCount = count }; bins.Add(bin); } return(new MostSimilarSubmissionsHistogramData { Bins = bins, }); }