public async void CalculateCumulativeStatistics_CalculatesCorrectly(Report[] testReports) { // Arrange Report currentTestReport = testReports[testReports.Length - 1]; Report previousTestReport = null; if (testReports.Length > 1) { previousTestReport = testReports[testReports.Length - 2]; } var mock = new Mock <IReportService>(); mock.Setup(rs => rs.GetPreviousUserReport(It.IsAny <string>())).Returns(previousTestReport); mock.Setup(rs => rs.CalculateStatistics( It.IsAny <int>(), It.IsAny <decimal>(), It.IsAny <Grade>(), It.IsAny <int>(), It.IsAny <Report>())).Returns(currentTestReport.Statistics); CaseReportViewModel model = new CaseReportViewModel() { PatientAge = currentTestReport.Case.PatientAge, TumourSize = currentTestReport.Case.TumourSize, TumourGrade = currentTestReport.TumourGrade, NumberofLVI = currentTestReport.NumberofLVI }; InterventionData expectedData = InterventionTestData.OrderedInterventionDataSet[testReports.Length - 1]; //Act CaseReportViewModelService crvmService = new CaseReportViewModelService(null, null, mock.Object); InterventionData actualData = await crvmService.GetInterventionDataForCaseReport(model, "testUser"); //Assert for (int i = 0; i < actualData.ChartXAxis.Length; i++) { Assert.Equal(Decimal.Round(expectedData.ObservedYValues[i], 5), Decimal.Round(actualData.ObservedYValues[i], 5)); Assert.Equal(Decimal.Round(expectedData.TheoreticalYValues[i], 5), Decimal.Round(actualData.TheoreticalYValues[i], 5)); } Assert.Equal(Decimal.Round(expectedData.PreTestProbability, 5), Decimal.Round(actualData.PreTestProbability, 5)); Assert.Equal(Decimal.Round(expectedData.PostTestProbability, 5), Decimal.Round(actualData.PostTestProbability, 5)); }
public object FindByID(string entityID) { try { InterventionData interventionData = null; List <IMongoQuery> queries = new List <IMongoQuery>(); queries.Add(Query.EQ(MEIntervention.IdProperty, ObjectId.Parse(entityID))); queries.Add(Query.EQ(MEIntervention.DeleteFlagProperty, false)); queries.Add(Query.EQ(MEIntervention.TTLDateProperty, BsonNull.Value)); IMongoQuery mQuery = Query.And(queries); using (PatientGoalMongoContext ctx = new PatientGoalMongoContext(_dbName)) { MEIntervention b = ctx.Interventions.Collection.Find(mQuery).FirstOrDefault(); if (b != null) { interventionData = new InterventionData { Id = b.Id.ToString(), Description = b.Description, TemplateGoalId = b.TemplateGoalId.ToString(), StartDateRange = b.StartDateRange, CategoryId = b.CategoryId == null ? null : b.CategoryId.ToString(), AssignedToId = b.AssignedToId == null ? null : b.AssignedToId.ToString(), BarrierIds = Helper.ConvertToStringList(b.BarrierIds), StatusId = ((int)b.Status), StatusDate = b.StatusDate, StartDate = b.StartDate, //ClosedDate = b.ClosedDate, CreatedById = b.RecordCreatedBy.ToString(), DeleteFlag = b.DeleteFlag }; } } return(interventionData); } catch (Exception) { throw; } }
public async Task <IActionResult> OnGetAdditionalProbabilityDataAsync(int?id, [FromQuery] CaseReportViewModel caseReportData) { InterventionData = await _caseReportService.GetInterventionDataForCaseReport(caseReportData, _userManager.GetUserId(User)); return(new JsonResult(InterventionData)); }