Exemplo n.º 1
0
        public void ProjectStatisticsExecutor_TRex_Success()
        {
            var excludedSurveyedSurfaceUids = new[] { Guid.NewGuid(), Guid.NewGuid(), Guid.NewGuid() };
            var excludedSurveyedSurfaceIds  = new long[] { 444, 777, 888 };
            var request = new ProjectStatisticsMultiRequest(Guid.NewGuid(), 123, excludedSurveyedSurfaceUids, excludedSurveyedSurfaceIds);

            var expectedResult = new ProjectStatisticsResult(ContractExecutionStatesEnum.ExecutedSuccessfully)
            {
                startTime         = DateTime.UtcNow.AddDays(-5),
                endTime           = DateTime.UtcNow.AddDays(-1),
                cellSize          = 32.5,
                indexOriginOffset = 10,
                extents           = new BoundingBox3DGrid(10, 500, 0, 20, 510, 0)
            };
            var tRexProxy = new Mock <ITRexCompactionDataProxy>();

            tRexProxy.Setup(x => x.SendDataPostRequest <ProjectStatisticsResult, ProjectStatisticsTRexRequest>(It.IsAny <ProjectStatisticsTRexRequest>(), It.IsAny <string>(), It.IsAny <IHeaderDictionary>(), false))
            .ReturnsAsync((expectedResult));


            var configStore = new Mock <IConfigurationStore>();

            configStore.Setup(x => x.GetValueBool("ENABLE_TREX_GATEWAY_PROJECTSTATISTICS")).Returns(true);

            var executor = RequestExecutorContainerFactory
                           .Build <ProjectStatisticsExecutor>(logger, configStore: configStore.Object,
                                                              trexCompactionDataProxy: tRexProxy.Object, customHeaders: _customHeaders);

            var result = executor.ProcessAsync(request).Result as ProjectStatisticsResult;

            Assert.IsNotNull(result, "Result should not be null");
            Assert.AreEqual(expectedResult.startTime, result.startTime, "Wrong startTime");
            Assert.AreEqual(expectedResult.extents.MaxX, result.extents.MaxX, "Wrong MaxX extent");
        }
Exemplo n.º 2
0
        protected override ContractExecutionResult ProcessEx <T>(T item)
        {
            var request   = CastRequestObjectTo <ProjectStatisticsTRexRequest>(item);
            var siteModel = GetSiteModel(request.ProjectUid);

            var result = new ProjectStatisticsResult();

            if (siteModel != null)
            {
                var extents = siteModel.GetAdjustedDataModelSpatialExtents(request.ExcludedSurveyedSurfaceUids);
                result.extents = new BoundingBox3DGrid(
                    extents.MinX, extents.MinY, extents.MinZ,
                    extents.MaxX, extents.MaxY, extents.MaxZ
                    );

                var startEndDates = siteModel.GetDateRange();
                var format        = "yyyy-MM-ddTHH-mm-ss.fffffff";
                result.startTime = DateTime.ParseExact(startEndDates.startUtc.ToString(format, CultureInfo.InvariantCulture), format, CultureInfo.InvariantCulture);
                result.endTime   = DateTime.ParseExact(startEndDates.endUtc.ToString(format, CultureInfo.InvariantCulture), format, CultureInfo.InvariantCulture);

                result.cellSize          = siteModel.Grid.CellSize;
                result.indexOriginOffset = siteModel.Grid.IndexOriginOffset;
            }

            return(result);
        }
Exemplo n.º 3
0
        public async Task ValidateProjectExecutor_Delete_3d_HasData()
        {
            var extents = new ProjectStatisticsResult {
                extents = new BoundingBox3DGrid(10, 10, 10, 20, 20, 20)
            };
            var extentsProxy = new Mock <IProductivity3dV2ProxyCompaction>();

            extentsProxy.Setup(ep => ep.GetProjectStatistics(It.IsAny <Guid>(), It.IsAny <IHeaderDictionary>())).ReturnsAsync(extents);

            var request = new ProjectValidateDto {
                AccountTrn = _customerTrn, ProjectTrn = _projectTrn, UpdateType = CwsUpdateType.DeleteProject
            };
            var executor = CreateExecutor(productivity3dV2ProxyCompaction: extentsProxy.Object);
            var result   = await executor.ProcessAsync(MapProjectValidation(request));

            result.ShouldBe(141, "Cannot delete a project that has 3D production (tag file) data");
        }
Exemplo n.º 4
0
        public async Task ValidateProjectExecutor_Delete_3d_NoData_2()
        {
            var extents = new ProjectStatisticsResult
            {
                extents = new BoundingBox3DGrid(0, 0, 0, 0, 0, 0)
            };
            var extentsProxy = new Mock <IProductivity3dV2ProxyCompaction>();

            extentsProxy.Setup(ep => ep.GetProjectStatistics(It.IsAny <Guid>(), It.IsAny <IHeaderDictionary>())).ReturnsAsync(extents);

            var request = new ProjectValidateDto {
                AccountTrn = _customerTrn, ProjectTrn = _projectTrn, UpdateType = CwsUpdateType.DeleteProject
            };
            var executor = CreateExecutor(productivity3dV2ProxyCompaction: extentsProxy.Object);

            var result = await executor.ProcessAsync(MapProjectValidation(request));

            result.IsSuccessResponse();
        }