public void CreatePassCountSummaryResult_Should_return_null_object_When_TotalAreaCoveredSqMeters_is_null() { var passCountSummaryResult = new PassCountSummaryResult(null, false, 1, 2, 3, 4, 0); var result = new CompactionPassCountSummaryResult(passCountSummaryResult); Assert.IsNotNull(result); Assert.AreEqual(ContractExecutionResult.DefaultMessage, result.Message); Assert.IsNull(result.SummaryData); }
public void CreatePassCountSummaryResult_Should_return_full_object_When_totalAreaCoveredSqMeters_is_not_null() { var targetPassCountRange = new TargetPassCountRange(6, 7); var passCountSummaryResult = new PassCountSummaryResult(targetPassCountRange, false, 1, 2, 3, 4, 342.12); var result = new CompactionPassCountSummaryResult(passCountSummaryResult); Assert.IsNotNull(result); Assert.AreEqual(ContractExecutionResult.DefaultMessage, result.Message); Assert.AreEqual(342.12, result.SummaryData.TotalAreaCoveredSqMeters); Assert.AreEqual(1, result.SummaryData.PercentEqualsTarget); Assert.AreEqual(2, result.SummaryData.PercentGreaterThanTarget); Assert.AreEqual(3, result.SummaryData.PercentLessThanTarget); Assert.IsNotNull(result.SummaryData.PassCountTarget); Assert.AreEqual(6, result.SummaryData.PassCountTarget.MinPassCountMachineTarget); Assert.AreEqual(7, result.SummaryData.PassCountTarget.MaxPassCountMachineTarget); }
public async Task <ActionResult <CompactionPassCountSummaryResult> > GetPassCountSummary( [FromQuery] Guid projectUid, [FromQuery] Guid?filterUid) { Log.LogInformation($"{nameof(GetPassCountSummary)}: " + Request.QueryString); var validationResult = await ValidateFilterAgainstProjectExtents(projectUid, filterUid); if (!validationResult.isValidFilterForProjectExtents) { return(Ok(new CompactionPassCountSummaryResult())); } var request = await GetPassCountRequest(projectUid, filterUid, validationResult.filterResult, isSummary : true); request.Validate(); try { var result = await RequestExecutorContainerFactory .Build <SummaryPassCountsExecutor>(LoggerFactory, configStore : ConfigStore, trexCompactionDataProxy : TRexCompactionDataProxy, customHeaders : CustomHeaders, userId : GetUserId(), fileImportProxy : FileImportProxy) .ProcessAsync(request) as PassCountSummaryResult; var passCountSummaryResult = new CompactionPassCountSummaryResult(result); Log.LogInformation($"{nameof(GetPassCountSummary)} result: " + JsonConvert.SerializeObject(passCountSummaryResult)); await SetCacheControlPolicy(projectUid); return(Ok(passCountSummaryResult)); } catch (ServiceException exception) { Log.LogError($"{nameof(GetPassCountSummary)}: {exception.GetResult.Message} ({exception.GetResult.Code})"); return(BadRequest(new ContractExecutionResult(exception.GetResult.Code, exception.GetResult.Message))); } finally { Log.LogInformation($"{nameof(GetPassCountSummary)} returned: " + Response.StatusCode); } }