public void Serialization_Complex() { var arg = new ProgressiveVolumesRequestArgument { Interval = new TimeSpan(1, 0, 0, 0), StartDate = new DateTime(2020, 1, 1, 1, 1, 1), EndDate = new DateTime(2020, 1, 1, 1, 1, 1), CutTolerance = 0.05, FillTolerance = 0.01, AdditionalSpatialFilter = new CombinedFilter(), ExternalDescriptor = Guid.NewGuid(), Filters = new FilterSet(new CombinedFilter()), LiftParams = new LiftParameters(), OriginatingIgniteNodeId = Guid.NewGuid(), Overrides = new OverrideParameters(), ProjectID = Guid.NewGuid(), BaseDesign = new DesignOffset(Guid.NewGuid(), 1.23), TopDesign = new DesignOffset(Guid.NewGuid(), 1.33), VolumeType = VolumeComputationType.BetweenDesignAndFilter }; var writer = new TestBinaryWriter(); arg.ToBinary(writer); var cp2 = new ProgressiveVolumesRequestArgument(); cp2.FromBinary(new TestBinaryReader(writer._stream.BaseStream as MemoryStream)); arg.Should().BeEquivalentTo(cp2); }
public async Task <ProgressiveVolumesResponse> ExecuteAsync(ProgressiveVolumesRequestArgument arg) { var request = new ProgressiveVolumesRequest_ClusterCompute(); _log.LogInformation("Executing ProgressiveVolumesRequestComputeFunc_ApplicationService.ExecuteAsync()"); // Calculate the volumes and convert the grid bounding rectangle into WGS 84 lat/long to return to the caller. return(ConvertBoundaryFromGridToWGS84(arg.ProjectID, await request.ExecuteAsync(arg))); }
public async Task ApplicationService_DefaultFilterToFilter_Execute_SingleCell_CutOnly() { const int numProgressiveVolumes = 10; AddApplicationGridRouting(); AddClusterComputeGridRouting(); AddSimpleNEEToLLHConversionMock(); var baseTime = DateTime.UtcNow; var timeIncrement = new TimeSpan(0, 1, 0); var cellPassHeightIncrement = -ELEVATION_INCREMENT_0_5; var siteModel = BuildModelForSingleCellProgressiveVolume(numProgressiveVolumes + 1, baseTime, timeIncrement, 1.0f, cellPassHeightIncrement); var(startUtc, endUtc) = siteModel.GetDateRange(); startUtc.Should().Be(baseTime); endUtc.Should().Be(baseTime + numProgressiveVolumes * timeIncrement); var request = new ProgressiveVolumesRequest_ApplicationService(); var arg = new ProgressiveVolumesRequestArgument { StartDate = startUtc, EndDate = endUtc, Interval = new TimeSpan((endUtc.Ticks - startUtc.Ticks) / numProgressiveVolumes), ProjectID = siteModel.ID, VolumeType = VolumeComputationType.Between2Filters, Filters = new FilterSet(new CombinedFilter()), BaseDesign = new DesignOffset(), TopDesign = new DesignOffset(), CutTolerance = 0.001, FillTolerance = 0.001 }; var response = await request.ExecuteAsync(arg); CheckDefaultSingleCellAtOriginResponse(response); response.Volumes.Length.Should().Be(numProgressiveVolumes); for (var i = 0; i < response.Volumes.Length - 1; i++) { response.Volumes[i].Date.Should().BeBefore(response.Volumes[i + 1].Date); } for (var i = 0; i < response.Volumes.Length; i++) { response.Volumes[i].Date.Should().Be(baseTime + (i + 1) * timeIncrement); response.Volumes[i].Volume.TotalCoverageArea.Should().Be(SubGridTreeConsts.DefaultCellSize * SubGridTreeConsts.DefaultCellSize); response.Volumes[i].Volume.Fill.Should().Be(0); response.Volumes[i].Volume.Cut.Should().Be(-(cellPassHeightIncrement * SubGridTreeConsts.DefaultCellSize * SubGridTreeConsts.DefaultCellSize)); response.Volumes[i].Volume.FillArea.Should().Be(0); response.Volumes[i].Volume.CutArea.Should().Be(SubGridTreeConsts.DefaultCellSize * SubGridTreeConsts.DefaultCellSize); } }
public void Serialization_Null() { var arg = new ProgressiveVolumesRequestArgument(); var writer = new TestBinaryWriter(); arg.ToBinary(writer); var cp2 = new ProgressiveVolumesRequestArgument(); cp2.FromBinary(new TestBinaryReader(writer._stream.BaseStream as MemoryStream)); arg.Should().BeEquivalentTo(cp2); }
public void Creation() { var arg = new ProgressiveVolumesRequestArgument(); Assert.NotNull(arg); }