public async void Binary_DXF_Boundaries_UnderLimit_Closed(string fileName, DxfUnitsType units, int expectedBoundaryCount, int firstBoundaryVertexCount, string expectedName, DXFLineWorkBoundaryType expectedType) { TestAFile(fileName, units, expectedBoundaryCount, firstBoundaryVertexCount, expectedName, expectedType, false); }
/// <summary> /// Override constructor with parameters. /// </summary> /// <param name="fence"></param> /// <param name="type"></param> /// <param name="name"></param> public DXFBoundaryResultItem(List <WGSPoint> fence, DXFLineWorkBoundaryType type, string name) { Fence = fence; Type = type; Name = name; }
private async void TestAFile(string fileName, DxfUnitsType units, int expectedBoundaryCount, int firstBoundaryVertexCount, string expectedName, DXFLineWorkBoundaryType expectedType, bool allowUnclosedBoundaries) { var request = new DXFBoundariesRequest("", ImportedFileType.SiteBoundary, Convert.ToBase64String(File.ReadAllBytes(Path.Combine("TestData", fileName))), units, 10, allowUnclosedBoundaries); var executor = new ExtractDXFBoundariesExecutor(DIContext.Obtain <IConfigurationStore>(), DIContext.Obtain <ILoggerFactory>(), DIContext.Obtain <IServiceExceptionHandler>()); executor.Should().NotBeNull(); var result = await executor.ProcessAsync(request); result.Should().NotBeNull(); result.Code.Should().Be(ContractExecutionStatesEnum.ExecutedSuccessfully); result.Message.Should().Be("Success"); if (result is DXFBoundaryResult boundary) { boundary.Boundaries.Count.Should().Be(expectedBoundaryCount); if (expectedBoundaryCount > 0) { boundary.Boundaries[0].Fence.Count.Should().Be(firstBoundaryVertexCount); boundary.Boundaries[0].Name.Should().Be(expectedName); boundary.Boundaries[0].Type.Should().Be(expectedType); } } else { false.Should().BeTrue(); // fail the test } }