public CompactionReportStationOffsetRequest CreateRequest(bool reportElevation, bool reportCmv, bool reportMdp, bool reportPassCount, bool reportTemperature, bool reportCutFill, DesignDescriptor cutFillDesignDescriptor, DesignDescriptor alignmentDescriptor, double crossSectionInterval, double startStation, double endStation, double[] offsets, UserPreferenceData userPreferences, string projectTimzone) { var liftBuildSettings = SettingsManager.CompactionLiftBuildSettings(ProjectSettings); return(CompactionReportStationOffsetRequest.CreateRequest( ProjectId, ProjectUid, Filter, Filter != null ? Filter.Id ?? -1 : -1, liftBuildSettings, reportElevation, reportCmv, reportMdp, reportPassCount, reportTemperature, reportCutFill, cutFillDesignDescriptor, alignmentDescriptor, crossSectionInterval, startStation, endStation, offsets, userPreferences, projectTimzone)); }
public async Task CompactionReportStationOffsetExecutor_TRex_NoResult() { var projectUid = Guid.NewGuid(); var alignmentDesignUid = Guid.NewGuid(); var userPreferences = new UserPreferenceData { Language = "en-US" }; var request = CompactionReportStationOffsetRequest.CreateRequest( 0, projectUid, null, 0, null, false, true, true, true, true, false, null, new DesignDescriptor(-1, FileDescriptor.CreateFileDescriptor(string.Empty, string.Empty, projectUid.ToString(), "theFilename.svl"), -1, alignmentDesignUid), 0, 0, 0, null, userPreferences, "New Zealand Standard Time"); var mockConfigStore = new Mock <IConfigurationStore>(); #if RAPTOR mockConfigStore.Setup(x => x.GetValueBool("ENABLE_TREX_GATEWAY_STATIONOFFSET")).Returns(true); #endif var exception = new ServiceException(HttpStatusCode.InternalServerError, new ContractExecutionResult(ContractExecutionStatesEnum.InternalProcessingError, $"StationOffset report failed somehow. ProjectUid: { projectUid }")); var tRexProxy = new Mock <ITRexCompactionDataProxy>(); tRexProxy.Setup(x => x.SendDataPostRequestWithStreamResponse(It.IsAny <CompactionReportStationOffsetTRexRequest>(), It.IsAny <string>(), It.IsAny <IHeaderDictionary>())).Throws(exception); var executor = RequestExecutorContainerFactory .Build <CompactionReportStationOffsetExecutor>(_logger, configStore: mockConfigStore.Object, trexCompactionDataProxy: tRexProxy.Object); var result = await Assert.ThrowsExceptionAsync <ServiceException>(async() => await executor.ProcessAsync(request)); Assert.AreEqual(HttpStatusCode.InternalServerError, result.Code); Assert.AreEqual(ContractExecutionStatesEnum.InternalProcessingError, result.GetResult.Code); Assert.AreEqual(exception.GetResult.Message, result.GetResult.Message); }
public void CompactionReportStationOffsetExecutor_Raptor_NoResult() { var userPreferences = new UserPreferenceData { Language = "en-US" }; var request = CompactionReportStationOffsetRequest.CreateRequest( 33, null, null, 0, null, true, true, true, true, true, true, null, null, 0, 0, 0, null, userPreferences, "New Zealand Standard Time"); var filterSettings = RaptorConverters.ConvertFilter(request.Filter); var cutfillDesignDescriptor = RaptorConverters.DesignDescriptor(request.DesignFile); var alignmentDescriptor = RaptorConverters.DesignDescriptor(request.AlignmentFile); var TASNodeUserPreference = ExportRequestHelper.ConvertToRaptorUserPreferences(request.UserPreferences, request.ProjectTimezone); var options = RaptorConverters.convertOptions(null, request.LiftBuildSettings, 0, request.Filter?.LayerType ?? FilterLayerMethod.None, DisplayMode.Height, false); var mockConfigStore = new Mock <IConfigurationStore>(); mockConfigStore.Setup(x => x.GetValueBool("ENABLE_TREX_GATEWAY_STATIONOFFSET")).Returns(false); MemoryStream responseData; var raptorClient = new Mock <IASNodeClient>(); var args = ASNode.StationOffsetReport.RPC.__Global.Construct_StationOffsetReport_Args( request.ProjectId ?? VelociraptorConstants.NO_PROJECT_ID, (int)CompactionReportType.StationOffset, ASNodeRPC.__Global.Construct_TASNodeRequestDescriptor(Guid.NewGuid(), 0, TASNodeCancellationDescriptorType.cdtProdDataReport), TASNodeUserPreference, alignmentDescriptor, cutfillDesignDescriptor, request.StartStation, request.EndStation, request.Offsets, request.CrossSectionInterval, request.ReportElevation, request.ReportCutFill, request.ReportCMV, request.ReportMDP, request.ReportPassCount, request.ReportTemperature, (int)GridReportOption.Unused, 0, 0, 0, 0, 0, 0, 0, // Northings, Eastings and Direction values are not used on Station Offset report. filterSettings, RaptorConverters.ConvertLift(request.LiftBuildSettings, filterSettings.LayerMethod), options ); raptorClient.Setup(x => x.GetReportStationOffset(args, out responseData)).Returns(0); // icsrrUnknownError var executor = RequestExecutorContainerFactory .Build <CompactionReportStationOffsetExecutor>(_logger, raptorClient.Object, configStore: mockConfigStore.Object); Assert.ThrowsExceptionAsync <ServiceException>(async() => await executor.ProcessAsync(request)); }
public void Constructor_should_return_fully_populated_object() { var stationOffset = new TStationOffset { Northing = 12.34, Easting = 56.78, Elevation = 90.12, CutFill = 34.56, CMV = 78, MDP = 90, PassCount = 12345, Temperature = 21.43, Position = 54.65, Station = 87.09 }; var request = CompactionReportStationOffsetRequest.CreateRequest( 0, null, null, 0, null, true, true, true, true, true, true, null, null, 0, 0, 0, null, null, null ); var result = StationOffsetRow.CreateRow(stationOffset, request); Assert.AreEqual(stationOffset.Northing, result.Northing); Assert.AreEqual(stationOffset.Easting, result.Easting); Assert.AreEqual(stationOffset.Elevation, result.Elevation); Assert.AreEqual(stationOffset.CutFill, result.CutFill); Assert.AreEqual((double)stationOffset.CMV / 10, result.CMV); Assert.AreEqual((double)stationOffset.MDP / 10, result.MDP); Assert.AreEqual(stationOffset.PassCount, result.PassCount); Assert.AreEqual(stationOffset.Temperature / 10, result.Temperature); Assert.AreEqual(stationOffset.Position, result.Offset); Assert.AreEqual(stationOffset.Station, result.Station); Assert.IsTrue(result.ElevationReport); Assert.IsTrue(result.CutFillReport); Assert.IsTrue(result.CMVReport); Assert.IsTrue(result.MDPReport); Assert.IsTrue(result.PassCountReport); Assert.IsTrue(result.TemperatureReport); }