コード例 #1
0
        public async Task ElevationStatisticsExecutor_TRex_NoResult()
        {
            var request = new ElevationStatisticsRequest(0, Guid.NewGuid(), null, null, -1, null);

            var logger = new Mock <ILoggerFactory>();

            var mockConfigStore = new Mock <IConfigurationStore>();

#if RAPTOR
            mockConfigStore.Setup(x => x.GetValueBool("ENABLE_TREX_GATEWAY_ELEVATION")).Returns(true);
#endif

            var trexCompactionDataProxy    = new Mock <ITRexCompactionDataProxy>();
            var elevationStatisticsRequest = new ElevationDataRequest(request.ProjectUid.Value, request.Filter, null, null);

            trexCompactionDataProxy.Setup(x => x.SendDataPostRequest <ElevationStatisticsResult, ElevationDataRequest>(elevationStatisticsRequest, It.IsAny <string>(), It.IsAny <IHeaderDictionary>(), false))
            .Returns((Task <ElevationStatisticsResult>)null);

            var executor = RequestExecutorContainerFactory
                           .Build <ElevationStatisticsExecutor>(logger.Object, configStore: mockConfigStore.Object, trexCompactionDataProxy: trexCompactionDataProxy.Object);

            var result = await executor.ProcessAsync(request);

            Assert.IsNull(result, "Result should be null");
        }
コード例 #2
0
        public async Task ElevationStatisticsExecutorSuccess()
        {
            var request = new ElevationStatisticsRequest(0, null, null, null, -1, null);

            var raptorClient            = new Mock <IASNodeClient>();
            var logger                  = new Mock <ILoggerFactory>();
            var mockConfigStore         = new Mock <IConfigurationStore>();
            var trexCompactionDataProxy = new Mock <ITRexCompactionDataProxy>();

            var elevationStatisticsResult = new TASNodeElevationStatisticsResult(111.22, 333.44, 12345.79, new T3DBoundingWorldExtent(123.35, 456.65, 133.48, 466.77));

            raptorClient
            .Setup(x => x.GetElevationStatistics(request.ProjectId.Value, It.IsAny <TASNodeRequestDescriptor>(),
                                                 It.IsAny <TICFilterSettings>(), It.IsAny <TICLiftBuildSettings>(), out elevationStatisticsResult))
            .Returns(TASNodeErrorStatus.asneOK);

            var executor = RequestExecutorContainerFactory
                           .Build <ElevationStatisticsExecutor>(logger.Object, raptorClient.Object, configStore: mockConfigStore.Object, trexCompactionDataProxy: trexCompactionDataProxy.Object);

            var result = await executor.ProcessAsync(request) as ElevationStatisticsResult;

            Assert.IsNotNull(result, "Result should not be null");
            Assert.AreEqual(elevationStatisticsResult.CoverageArea, result.TotalCoverageArea, "Wrong CoverageArea");
            Assert.AreEqual(elevationStatisticsResult.MinElevation, result.MinElevation, "Wrong MinElevation");
            Assert.AreEqual(elevationStatisticsResult.MaxElevation, result.MaxElevation, "Wrong MaxElevation");
            Assert.AreEqual(elevationStatisticsResult.BoundingExtents.MinX, result.BoundingExtents.MinX, "Wrong BoundingExtents.MinX");
            Assert.AreEqual(elevationStatisticsResult.BoundingExtents.MinY, result.BoundingExtents.MinY, "Wrong BoundingExtents.MinY");
            Assert.AreEqual(elevationStatisticsResult.BoundingExtents.MinZ, result.BoundingExtents.MinZ, "Wrong BoundingExtents.MinZ");
            Assert.AreEqual(elevationStatisticsResult.BoundingExtents.MaxX, result.BoundingExtents.MaxX, "Wrong BoundingExtents.MaxX");
            Assert.AreEqual(elevationStatisticsResult.BoundingExtents.MaxY, result.BoundingExtents.MaxY, "Wrong BoundingExtents.MaxY");
            Assert.AreEqual(elevationStatisticsResult.BoundingExtents.MaxZ, result.BoundingExtents.MaxZ, "Wrong BoundingExtents.MaxZ");
        }
コード例 #3
0
        public void ElevationStatisticsExecutor_Raptor_NoResult()
        {
            var request = new ElevationStatisticsRequest(0, null, null, null, -1, null);

            var raptorClient = new Mock <IASNodeClient>();
            var logger       = new Mock <ILoggerFactory>();

            var mockConfigStore = new Mock <IConfigurationStore>();

            mockConfigStore.Setup(x => x.GetValueBool("ENABLE_TREX_GATEWAY_ELEVATION")).Returns(false);

            var trexCompactionDataProxy = new Mock <ITRexCompactionDataProxy>();

            var result = new TASNodeElevationStatisticsResult();

            raptorClient
            .Setup(x => x.GetElevationStatistics(request.ProjectId.Value, It.IsAny <TASNodeRequestDescriptor>(),
                                                 It.IsAny <TICFilterSettings>(), It.IsAny <TICLiftBuildSettings>(), out result))
            .Returns(TASNodeErrorStatus.asneNoResultReturned);

            var executor = RequestExecutorContainerFactory
                           .Build <ElevationStatisticsExecutor>(logger.Object, raptorClient.Object, configStore: mockConfigStore.Object, trexCompactionDataProxy: trexCompactionDataProxy.Object);

            Assert.ThrowsExceptionAsync <AggregateException>(async() => await executor.ProcessAsync(request));
        }
コード例 #4
0
        public async Task <ElevationStatisticsResult> PostExportElevationStatisticsTbc([FromBody] ElevationStatisticsRequest request)
        {
            _log.LogDebug($"{nameof(PostExportElevationStatisticsTbc)}: {JsonConvert.SerializeObject(request)}");

            request.Validate();

            return
                (await RequestExecutorContainerFactory.Build <ElevationStatisticsExecutor>(_logger,
#if RAPTOR
                                                                                           raptorClient,
#endif
                                                                                           configStore : configStore, trexCompactionDataProxy : tRexCompactionDataProxy,
                                                                                           fileImportProxy : FileImportProxy, customHeaders : CustomHeaders, userId : GetUserId())
                 .ProcessAsync(request)
                 as ElevationStatisticsResult);
        }