Ejemplo n.º 1
0
        public static void VerifyBoundary(List <FieldBoundary> catalogFieldBoundaries, List <Field> catalogFields, List <Farm> catalogFarms, List <Grower> catalogGrowers,
                                          string expectedGuid, string expectedGrowerName, string expectedGrowerGuid, string expectedFarmDescription, string expectedFarmGuid,
                                          string expectedFieldDescription, string expectedFieldGuid, double expectedFieldArea, string expectedFieldAreaUnit,
                                          GpsSourceEnum expectedGpsSourceEnum, List <string> expectedInteriorBoundaries, int expectedPolygonCount)
        {
            var boundary = catalogFieldBoundaries.Find(x => x.Id.UniqueIds.Exists(id => id.Id == expectedGuid));

            Assert.IsNotNull(boundary);

            AssertLogistics.VerifyClient(catalogGrowers, expectedGrowerName, expectedGrowerGuid);
            AssertLogistics.VerifyFarm(catalogFarms, catalogGrowers, expectedFarmDescription, expectedFarmGuid, expectedGrowerName);
            AssertLogistics.VerifyField(catalogFields, catalogFarms, expectedFieldDescription, expectedFieldGuid, expectedFarmDescription, expectedFieldArea, expectedFieldAreaUnit);

            Assert.AreEqual(expectedGpsSourceEnum, boundary.GpsSource.SourceType);

            var interiorBoundaryVerified = true;

            foreach (var expectedInteriorBoundary in expectedInteriorBoundaries)
            {
                interiorBoundaryVerified &= boundary.InteriorBoundaryAttributes.Exists(x => x.Description == expectedInteriorBoundary);
            }

            Assert.IsTrue(interiorBoundaryVerified);

            Assert.IsNotNull(boundary.SpatialData);
            Assert.AreEqual(ShapeTypeEnum.MultiPolygon, boundary.SpatialData.Type);
            Assert.IsNotNull(boundary.SpatialData.Polygons);
            Assert.AreEqual(boundary.SpatialData.Polygons.Count, expectedPolygonCount);
        }
Ejemplo n.º 2
0
        private static ISOGuidancePatternGNSSMethod ExportGNSSMethod(GpsSourceEnum enumeration)
        {
            switch (enumeration)
            {
            case GpsSourceEnum.GNSSfix:
                return(ISOGuidancePatternGNSSMethod.GNSSFix);

            case GpsSourceEnum.DGNSSfix:
                return(ISOGuidancePatternGNSSMethod.DGNSSFix);

            case GpsSourceEnum.PreciseGNSS:
                return(ISOGuidancePatternGNSSMethod.PreciseGNSS);

            case GpsSourceEnum.RTKFixedInteger:
                return(ISOGuidancePatternGNSSMethod.RTKFixedInteger);

            case GpsSourceEnum.RTKFloat:
                return(ISOGuidancePatternGNSSMethod.RTKFloat);

            case GpsSourceEnum.EstDRmode:
                return(ISOGuidancePatternGNSSMethod.EstDRMode);

            case GpsSourceEnum.ManualInput:
                return(ISOGuidancePatternGNSSMethod.ManualInput);

            case GpsSourceEnum.SimulateMode:
                return(ISOGuidancePatternGNSSMethod.SimulateMode);

            case GpsSourceEnum.DesktopGeneratedData:
                return(ISOGuidancePatternGNSSMethod.DesktopGeneratedData);

            case GpsSourceEnum.Other:
                return(ISOGuidancePatternGNSSMethod.Other);
            }
            return(ISOGuidancePatternGNSSMethod.Other);
        }
Ejemplo n.º 3
0
        public static void VerifyAbCurve(List <GuidancePattern> catalogGuidancePattern, List <Grower> catalogGrowers, List <Farm> catalogFarms, List <Field> catalogFields,
                                         string expectedDescription, string expectedGuid,
                                         string expectedGrowerName, string expectedGrowerGuid, string expectedFarmDescription, string expectedFarmGuid,
                                         string expectedFieldDescription, string expectedFieldGuid, double expectedFieldArea, string expectedFieldAreaUnit,
                                         int expectedSegments, double expectedHeading, double expectedEastShiftComponent, double expectedNorthShiftComponent, GpsSourceEnum expectedGpsSourceEnum,
                                         Point point1, Point point2, int expectedSwathsLeft, int expectedSwathsRight, List <Point> expectedBoundingPolygon)
        {
            var guidancePattern = VerifyGuidancePattern(catalogGuidancePattern, catalogGrowers, catalogFarms, catalogFields, expectedDescription, expectedGuid,
                                                        expectedGrowerName, expectedGrowerGuid, expectedFarmDescription, expectedFarmGuid,
                                                        expectedFieldDescription, expectedFieldGuid, expectedFieldArea, expectedFieldAreaUnit);

            Assert.IsInstanceOf <AbCurve>(guidancePattern);
            var abCurve = (AbCurve)guidancePattern;

            Assert.AreEqual(GuidancePatternTypeEnum.AbCurve, abCurve.GuidancePatternType);
            Assert.AreEqual(expectedSegments, abCurve.NumberOfSegments);
            Assert.AreEqual(expectedHeading, abCurve.Heading);
            Assert.AreEqual(expectedEastShiftComponent, abCurve.EastShiftComponent);
            Assert.AreEqual(expectedNorthShiftComponent, abCurve.NorthShiftComponent);
            Assert.AreEqual(point1.X, abCurve.Shape[0].Points[0].X);
            Assert.AreEqual(point1.Y, abCurve.Shape[0].Points[0].Y);
            Assert.AreEqual(point2.X, abCurve.Shape[0].Points[1].X);
            Assert.AreEqual(point2.Y, abCurve.Shape[0].Points[1].Y);
            Assert.AreEqual(expectedGpsSourceEnum, abCurve.GpsSource.SourceType);
            Assert.AreEqual(expectedSwathsLeft, abCurve.NumbersOfSwathsLeft);
            Assert.AreEqual(expectedSwathsRight, abCurve.NumbersOfSwathsRight);

            var exteriorRingPoints = abCurve.BoundingPolygon.Polygons.First().ExteriorRing.Points;

            foreach (var point in expectedBoundingPolygon)
            {
                Assert.IsTrue(exteriorRingPoints.Exists(x => Math.Abs(x.X - point.X) < 0.01 && Math.Abs(x.Y - point.Y) < 0.01));
            }
        }