Exemplo n.º 1
0
        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));
        }
Exemplo n.º 2
0
        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);
        }
Exemplo n.º 3
0
        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));
        }
Exemplo n.º 4
0
        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);
        }