public async Task Test_SummarySpeedStatistics_SiteModelWithSingleTAGFile_FullExtents_WithSpeedTargetRange (ushort minTarget, ushort maxTarget, double percentBelow, double percentWithin, double percentAbove) { AddClusterComputeGridRouting(); AddApplicationGridRouting(); var tagFiles = new[] { Path.Combine(TestHelper.CommonTestDataPath, "TestTAGFile.tag"), }; var siteModel = DITAGFileAndSubGridRequestsFixture.BuildModel(tagFiles, out _); var operation = new SpeedStatisticsOperation(); var cmvSummaryResult = await operation.ExecuteAsync(SimpleSpeedStatisticsArgument(siteModel, minTarget, maxTarget)); cmvSummaryResult.Should().NotBeNull(); cmvSummaryResult.ResultStatus.Should().Be(RequestErrorStatus.OK); cmvSummaryResult.Counts.Should().BeNull(); cmvSummaryResult.Percents.Should().BeNull(); cmvSummaryResult.BelowTargetPercent.Should().BeApproximately(percentBelow, 0.001); cmvSummaryResult.AboveTargetPercent.Should().BeApproximately(percentAbove, 0.001); cmvSummaryResult.WithinTargetPercent.Should().BeApproximately(percentWithin, 0.001); cmvSummaryResult.TotalAreaCoveredSqMeters.Should().BeApproximately(3054 * SubGridTreeConsts.DefaultCellSize * SubGridTreeConsts.DefaultCellSize, 0.000001); }
public async Task <JsonResult> GetMachineSpeedSummary([FromRoute] string siteModelID, [FromBody] OverrideParameters overrides) { string resultToReturn; if (!Guid.TryParse(siteModelID, out var UID)) { resultToReturn = $"<b>Invalid Site Model UID: {siteModelID}</b>"; } else { var siteModel = DIContext.Obtain <ISiteModels>().GetSiteModel(UID, false); if (siteModel == null) { resultToReturn = $"<b>Site model {UID} is unavailable</b>"; } else { var sw = new Stopwatch(); sw.Start(); var operation = new SpeedStatisticsOperation(); var result = await operation.ExecuteAsync( new SpeedStatisticsArgument() { ProjectID = siteModel.ID, Filters = new FilterSet() { Filters = new[] { new CombinedFilter() } }, Overrides = overrides } ); if (result != null) { string resultString = $"<b>Machine Speed Summary Results (in {sw.Elapsed}) :</b><br/>"; resultString += "<b>================================================</b><br/>"; resultString += $"<b>Above Machine Speed Percentage:</b> {result.AboveTargetPercent}<br/>"; resultString += $"<b>Within Machine Speed Percentage Range:</b> {result.WithinTargetPercent}<br/>"; resultString += $"<b>Below Machine Speed Percentage:</b> {result.BelowTargetPercent}<br/>"; resultString += $"<b>Total Area Covered in Sq Meters:</b> {result.TotalAreaCoveredSqMeters}<br/>"; resultToReturn = resultString; } else { resultToReturn = "<b>No result</b>"; } } } return(new JsonResult(resultToReturn)); }
public async Task Test_SummarySpeedStatistics_EmptySiteModel_FullExtents_NoSpeedTargetOverride() { AddClusterComputeGridRouting(); AddApplicationGridRouting(); var siteModel = DITAGFileAndSubGridRequestsWithIgniteFixture.NewEmptyModel(); var operation = new SpeedStatisticsOperation(); var mdpSummaryResult = await operation.ExecuteAsync(SimpleSpeedStatisticsArgument(siteModel, 0, 0)); mdpSummaryResult.Should().NotBeNull(); mdpSummaryResult.ResultStatus.Should().Be(RequestErrorStatus.FailedToRequestDatamodelStatistics); }
public async Task Test_SummarySpeedStatistics_SiteModelWithSingleCell_FullExtents_NoSpeedTargetRange() { AddClusterComputeGridRouting(); AddApplicationGridRouting(); var siteModel = BuildModelForSingleCellSpeed(10); var operation = new SpeedStatisticsOperation(); var speedSummaryResult = await operation.ExecuteAsync(SimpleSpeedStatisticsArgument(siteModel, CellPassConsts.NullMachineSpeed, CellPassConsts.NullMachineSpeed)); speedSummaryResult.Should().NotBeNull(); speedSummaryResult.ResultStatus.Should().Be(RequestErrorStatus.OK); speedSummaryResult.Counts.Should().BeNull(); speedSummaryResult.Percents.Should().BeNull(); speedSummaryResult.AboveTargetPercent.Should().Be(0.0); speedSummaryResult.WithinTargetPercent.Should().Be(0.0); speedSummaryResult.BelowTargetPercent.Should().Be(100.0); speedSummaryResult.TotalAreaCoveredSqMeters.Should().BeApproximately(SubGridTreeConsts.DefaultCellSize * SubGridTreeConsts.DefaultCellSize, 0.000001); }
protected override async Task <ContractExecutionResult> ProcessAsyncEx <T>(T item) { var request = item as SpeedSummaryRequest; if (request == null) { ThrowRequestTypeCastException <SpeedSummaryRequest>(); } var siteModel = GetSiteModel(request.ProjectUid); var filter = ConvertFilter(request.Filter, siteModel); var operation = new SpeedStatisticsOperation(); var speedSummaryResult = await operation.ExecuteAsync( new SpeedStatisticsArgument() { ProjectID = siteModel.ID, Filters = new FilterSet(filter), Overrides = AutoMapperUtility.Automapper.Map <OverrideParameters>(request.Overrides), LiftParams = ConvertLift(request.LiftSettings, request.Filter?.LayerType) } ); if (speedSummaryResult != null) { if (speedSummaryResult.ResultStatus == RequestErrorStatus.OK) { return(ConvertResult(speedSummaryResult)); } throw CreateServiceException <SummarySpeedExecutor>(speedSummaryResult.ResultStatus); } throw CreateServiceException <SummarySpeedExecutor>(); }
public void Test_SummarySpeedStatistics_Creation() { var operation = new SpeedStatisticsOperation(); operation.Should().NotBeNull(); }