예제 #1
0
 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);
 }
예제 #2
0
 /// <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;
 }
예제 #3
0
        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
            }
        }