Exemple #1
0
        public void TestMultiPolygonConstructors()
        {
            var multiPolygon =
                new MultiPolygon(
                    new[]
            {
                new PolygonCoordinates(
                    new[]
                {
                    new LinearRing(
                        new[]
                    {
                        new Position(20, 20), new Position(20, 21), new Position(21, 21),
                        new Position(21, 20), new Position(22, 20)
                    })
                })
            },
                    new GeometryParams
            {
                AdditionalProperties = new Dictionary <string, object> {
                    { "a", "b" }
                },
                BoundingBox = new BoundingBox(new Position(0, 0), new Position(40, 40)),
                Crs         = Crs.Named("SomeCrs")
            });

            Assert.AreEqual(new Position(20, 20), multiPolygon.Polygons[0].Rings[0].Positions[0]);

            Assert.AreEqual(new Position(0, 0), multiPolygon.BoundingBox.Min);
            Assert.AreEqual(new Position(40, 40), multiPolygon.BoundingBox.Max);
            Assert.AreEqual("b", multiPolygon.AdditionalProperties["a"]);
            Assert.AreEqual("SomeCrs", ((NamedCrs)multiPolygon.Crs).Name);
        }
        private Polygon GetPolygon()
        {
            Polygon polygon = new Polygon(
                new[]
            {
                new LinearRing(
                    new[]
                {
                    new Position(20, 20),
                    new Position(20, 21),
                    new Position(21, 21),
                    new Position(21, 20),
                    new Position(22, 20)
                })
            },
                new GeometryParams
            {
                AdditionalProperties = new Dictionary <string, object> {
                    { "b", "c" }
                },
                BoundingBox = new BoundingBox(new Position(0, 0), new Position(40, 40)),
                Crs         = Crs.Named("SomeCrs")
            });

            return(polygon);
        }
        public void NamedCrsEquals()
        {
            NamedCrs namedCrs1 = Crs.Named("AName");
            NamedCrs namedCrs2 = Crs.Named("AName");
            NamedCrs namedCrs3 = Crs.Named("AnotherName");

            Assert.AreEqual(namedCrs1, namedCrs2);
            Assert.AreEqual(namedCrs1.GetHashCode(), namedCrs2.GetHashCode());
            Assert.AreNotEqual(namedCrs1, namedCrs3);
            Assert.AreNotEqual(namedCrs1.GetHashCode(), namedCrs3.GetHashCode());
        }
        private Point GetPoint()
        {
            Point point = new Point(
                new Position(20, 30),
                new GeometryParams
            {
                AdditionalProperties = new Dictionary <string, object> {
                    { "a", "b" }
                },
                BoundingBox = new BoundingBox(new Position(0, 0), new Position(40, 40)),
                Crs         = Crs.Named("SomeCrs")
            });

            return(point);
        }
        private LineString GetLineString()
        {
            LineString lineString = new LineString(
                new[] {
                new Position(20, 30), new Position(30, 40)
            },
                new GeometryParams
            {
                AdditionalProperties = new Dictionary <string, object> {
                    { "a", "b" }
                },
                BoundingBox = new BoundingBox(new Position(0, 0), new Position(40, 40)),
                Crs         = Crs.Named("SomeCrs")
            });

            return(lineString);
        }
Exemple #6
0
        public void TestMultiPointConstructors()
        {
            var multiPoint = new MultiPoint(
                new[] { new Position(20, 30), new Position(30, 40) },
                new GeometryParams
            {
                AdditionalProperties = new Dictionary <string, object> {
                    { "a", "b" }
                },
                BoundingBox = new BoundingBox(new Position(0, 0), new Position(40, 40)),
                Crs         = Crs.Named("SomeCrs")
            });

            Assert.AreEqual(new Position(20, 30), multiPoint.Points[0]);
            Assert.AreEqual(new Position(0, 0), multiPoint.BoundingBox.Min);
            Assert.AreEqual(new Position(40, 40), multiPoint.BoundingBox.Max);
            Assert.AreEqual("b", multiPoint.AdditionalProperties["a"]);
            Assert.AreEqual("SomeCrs", ((NamedCrs)multiPoint.Crs).Name);
        }
Exemple #7
0
        public void TestPointConstructors()
        {
            var point = new Point(
                new Position(20, 30),
                new GeometryParams
            {
                AdditionalProperties = new Dictionary <string, object> {
                    { "a", "b" }
                },
                BoundingBox = new BoundingBox(new Position(0, 0), new Position(40, 40)),
                Crs         = Crs.Named("SomeCrs")
            });

            Assert.AreEqual(20, point.Position.Longitude);
            Assert.AreEqual(30, point.Position.Latitude);
            Assert.AreEqual(new Position(0, 0), point.BoundingBox.Min);
            Assert.AreEqual(new Position(40, 40), point.BoundingBox.Max);
            Assert.AreEqual("b", point.AdditionalProperties["a"]);
            Assert.AreEqual("SomeCrs", ((NamedCrs)point.Crs).Name);
        }
Exemple #8
0
        public void TestLineStringConstructors()
        {
            var lineString = new LineString(
                new[] { new Position(20, 30), new Position(30, 40) },
                new GeometryParams
            {
                AdditionalProperties = new Dictionary <string, object> {
                    { "a", "b" }
                },
                BoundingBox = new BoundingBox(new Position(0, 0), new Position(40, 40)),
                Crs         = Crs.Named("SomeCrs")
            });

            Assert.AreEqual(new Position(20, 30), lineString.Positions[0]);
            Assert.AreEqual(new Position(30, 40), lineString.Positions[1]);

            Assert.AreEqual(new Position(0, 0), lineString.BoundingBox.Min);
            Assert.AreEqual(new Position(40, 40), lineString.BoundingBox.Max);
            Assert.AreEqual("b", lineString.AdditionalProperties["a"]);
            Assert.AreEqual("SomeCrs", ((NamedCrs)lineString.Crs).Name);
        }
        public void TestGeometryCollectionConstructors()
        {
            var geometryCollection = new GeometryCollection(
                new[] { new Point(20, 30), new Point(30, 40) },
                new GeometryParams
            {
                AdditionalProperties = new Dictionary <string, object> {
                    { "a", "b" }
                },
                BoundingBox = new BoundingBox(new Position(0, 0), new Position(40, 40)),
                Crs         = Crs.Named("SomeCrs")
            });

            Assert.AreEqual(new Point(20, 30), geometryCollection.Geometries[0]);
            Assert.AreEqual(new Point(30, 40), geometryCollection.Geometries[1]);

            Assert.AreEqual(new Position(0, 0), geometryCollection.BoundingBox.Min);
            Assert.AreEqual(new Position(40, 40), geometryCollection.BoundingBox.Max);
            Assert.AreEqual("b", geometryCollection.AdditionalProperties["a"]);
            Assert.AreEqual("SomeCrs", ((NamedCrs)geometryCollection.Crs).Name);
        }
 public void NamedCrsConstructorException()
 {
     Crs.Named(null);
 }
        public void NamedCrsConstructor()
        {
            NamedCrs namedCrs = Crs.Named("NamedCrs");

            Assert.AreEqual("NamedCrs", namedCrs.Name);
        }
        public void TestMultiLineStringEqualsHashCode()
        {
            var multiLineString1 = new MultiLineString(
                new[]
            {
                new LineStringCoordinates(new[] { new Position(20, 30), new Position(30, 40) }),
                new LineStringCoordinates(new[] { new Position(40, 50), new Position(60, 60) })
            },
                new GeometryParams
            {
                AdditionalProperties = new Dictionary <string, object> {
                    { "a", "b" }
                },
                BoundingBox = new BoundingBox(new Position(0, 0), new Position(40, 40)),
                Crs         = Crs.Named("SomeCrs")
            });

            var multiLineString2 = new MultiLineString(
                new[]
            {
                new LineStringCoordinates(new[] { new Position(20, 30), new Position(30, 40) }),
                new LineStringCoordinates(new[] { new Position(40, 50), new Position(60, 60) })
            },
                new GeometryParams
            {
                AdditionalProperties = new Dictionary <string, object> {
                    { "a", "b" }
                },
                BoundingBox = new BoundingBox(new Position(0, 0), new Position(40, 40)),
                Crs         = Crs.Named("SomeCrs")
            });

            var multiLineString3 = new MultiLineString(
                new[]
            {
                new LineStringCoordinates(new[] { new Position(20, 30), new Position(30, 41) }),
                new LineStringCoordinates(new[] { new Position(40, 50), new Position(60, 60) })
            },
                new GeometryParams
            {
                AdditionalProperties = new Dictionary <string, object> {
                    { "a", "b" }
                },
                BoundingBox = new BoundingBox(new Position(0, 0), new Position(40, 40)),
                Crs         = Crs.Named("SomeCrs")
            });

            var multiLineString4 = new MultiLineString(
                new[]
            {
                new LineStringCoordinates(new[] { new Position(20, 30), new Position(30, 40) }),
                new LineStringCoordinates(new[] { new Position(40, 50), new Position(60, 60) })
            },
                new GeometryParams
            {
                AdditionalProperties = new Dictionary <string, object> {
                    { "b", "c" }
                },
                BoundingBox = new BoundingBox(new Position(0, 0), new Position(40, 40)),
                Crs         = Crs.Named("SomeCrs")
            });

            var multiLineString5 = new MultiLineString(
                new[]
            {
                new LineStringCoordinates(new[] { new Position(20, 30), new Position(30, 40) }),
                new LineStringCoordinates(new[] { new Position(40, 50), new Position(60, 60) })
            },
                new GeometryParams
            {
                AdditionalProperties = new Dictionary <string, object> {
                    { "a", "b" }
                },
                BoundingBox = new BoundingBox(new Position(0, 0), new Position(40, 41)),
                Crs         = Crs.Named("SomeCrs")
            });

            var multiLineString6 = new MultiLineString(
                new[]
            {
                new LineStringCoordinates(new[] { new Position(20, 30), new Position(30, 40) }),
                new LineStringCoordinates(new[] { new Position(40, 50), new Position(60, 60) })
            },
                new GeometryParams
            {
                AdditionalProperties = new Dictionary <string, object> {
                    { "a", "b" }
                },
                BoundingBox = new BoundingBox(new Position(0, 0), new Position(40, 40)),
                Crs         = Crs.Named("SomeCrs1")
            });

            Assert.AreEqual(multiLineString1, multiLineString2);
            Assert.AreEqual(multiLineString1.GetHashCode(), multiLineString2.GetHashCode());

            Assert.AreNotEqual(multiLineString1, multiLineString3);
            Assert.AreNotEqual(multiLineString1.GetHashCode(), multiLineString3.GetHashCode());

            Assert.AreNotEqual(multiLineString1, multiLineString4);
            Assert.AreNotEqual(multiLineString1.GetHashCode(), multiLineString4.GetHashCode());

            Assert.AreNotEqual(multiLineString1, multiLineString5);
            Assert.AreNotEqual(multiLineString1.GetHashCode(), multiLineString5.GetHashCode());

            Assert.AreNotEqual(multiLineString1, multiLineString6);
            Assert.AreNotEqual(multiLineString1.GetHashCode(), multiLineString6.GetHashCode());
        }
Exemple #13
0
        public void TestMultiPointEqualsHashCode()
        {
            var multiPoint1 = new MultiPoint(
                new[] { new Position(20, 30), new Position(30, 40) },
                new GeometryParams
            {
                AdditionalProperties = new Dictionary <string, object> {
                    { "a", "b" }
                },
                BoundingBox = new BoundingBox(new Position(0, 0), new Position(40, 40)),
                Crs         = Crs.Named("SomeCrs")
            });

            var multiPoint2 = new MultiPoint(
                new[] { new Position(20, 30), new Position(30, 40) },
                new GeometryParams
            {
                AdditionalProperties = new Dictionary <string, object> {
                    { "a", "b" }
                },
                BoundingBox = new BoundingBox(new Position(0, 0), new Position(40, 40)),
                Crs         = Crs.Named("SomeCrs")
            });

            var multiPoint3 = new MultiPoint(
                new[] { new Position(20, 30), new Position(31, 40) },
                new GeometryParams
            {
                AdditionalProperties = new Dictionary <string, object> {
                    { "a", "b" }
                },
                BoundingBox = new BoundingBox(new Position(0, 0), new Position(40, 40)),
                Crs         = Crs.Named("SomeCrs")
            });

            var multiPoint4 = new MultiPoint(
                new[] { new Position(20, 30), new Position(30, 40) },
                new GeometryParams
            {
                AdditionalProperties = new Dictionary <string, object> {
                    { "b", "c" }
                },
                BoundingBox = new BoundingBox(new Position(0, 0), new Position(40, 40)),
                Crs         = Crs.Named("SomeCrs")
            });

            var multiPoint5 = new MultiPoint(
                new[] { new Position(20, 30), new Position(30, 40) },
                new GeometryParams
            {
                AdditionalProperties = new Dictionary <string, object> {
                    { "a", "b" }
                },
                BoundingBox = new BoundingBox(new Position(0, 0), new Position(40, 41)),
                Crs         = Crs.Named("SomeCrs")
            });

            var multiPoint6 = new MultiPoint(
                new[] { new Position(20, 30), new Position(30, 40) },
                new GeometryParams
            {
                AdditionalProperties = new Dictionary <string, object> {
                    { "a", "b" }
                },
                BoundingBox = new BoundingBox(new Position(0, 0), new Position(40, 40)),
                Crs         = Crs.Named("SomeCrs1")
            });

            Assert.AreEqual(multiPoint1, multiPoint2);
            Assert.AreEqual(multiPoint1.GetHashCode(), multiPoint2.GetHashCode());

            Assert.AreNotEqual(multiPoint1, multiPoint3);
            Assert.AreNotEqual(multiPoint1.GetHashCode(), multiPoint3.GetHashCode());

            Assert.AreNotEqual(multiPoint1, multiPoint4);
            Assert.AreNotEqual(multiPoint1.GetHashCode(), multiPoint4.GetHashCode());

            Assert.AreNotEqual(multiPoint1, multiPoint5);
            Assert.AreNotEqual(multiPoint1.GetHashCode(), multiPoint5.GetHashCode());

            Assert.AreNotEqual(multiPoint1, multiPoint6);
            Assert.AreNotEqual(multiPoint1.GetHashCode(), multiPoint6.GetHashCode());
        }
Exemple #14
0
        public void TestMultiPolygonEqualsHashCode()
        {
            var multiPolygon1 =
                new MultiPolygon(
                    new[]
            {
                new PolygonCoordinates(
                    new[]
                {
                    new LinearRing(
                        new[]
                    {
                        new Position(20, 20), new Position(20, 21), new Position(21, 21),
                        new Position(21, 20), new Position(22, 20)
                    })
                })
            },
                    new GeometryParams
            {
                AdditionalProperties = new Dictionary <string, object> {
                    { "a", "b" }
                },
                BoundingBox = new BoundingBox(new Position(0, 0), new Position(40, 40)),
                Crs         = Crs.Named("SomeCrs")
            });

            var multiPolygon2 =
                new MultiPolygon(
                    new[]
            {
                new PolygonCoordinates(
                    new[]
                {
                    new LinearRing(
                        new[]
                    {
                        new Position(20, 20), new Position(20, 21), new Position(21, 21),
                        new Position(21, 20), new Position(22, 20)
                    })
                })
            },
                    new GeometryParams
            {
                AdditionalProperties = new Dictionary <string, object> {
                    { "a", "b" }
                },
                BoundingBox = new BoundingBox(new Position(0, 0), new Position(40, 40)),
                Crs         = Crs.Named("SomeCrs")
            });

            var polygon3 =
                new MultiPolygon(
                    new[]
            {
                new PolygonCoordinates(
                    new[]
                {
                    new LinearRing(
                        new[]
                    {
                        new Position(20, 21), new Position(20, 21), new Position(21, 21),
                        new Position(21, 20), new Position(22, 20)
                    })
                })
            },
                    new GeometryParams
            {
                AdditionalProperties = new Dictionary <string, object> {
                    { "a", "b" }
                },
                BoundingBox = new BoundingBox(new Position(0, 0), new Position(40, 40)),
                Crs         = Crs.Named("SomeCrs")
            });

            var polygon4 =
                new MultiPolygon(
                    new[]
            {
                new PolygonCoordinates(
                    new[]
                {
                    new LinearRing(
                        new[]
                    {
                        new Position(20, 20), new Position(20, 21), new Position(21, 21),
                        new Position(21, 20), new Position(22, 20)
                    })
                })
            },
                    new GeometryParams
            {
                AdditionalProperties = new Dictionary <string, object> {
                    { "b", "c" }
                },
                BoundingBox = new BoundingBox(new Position(0, 0), new Position(40, 40)),
                Crs         = Crs.Named("SomeCrs")
            });

            var polygon5 =
                new MultiPolygon(
                    new[]
            {
                new PolygonCoordinates(
                    new[]
                {
                    new LinearRing(
                        new[]
                    {
                        new Position(20, 20), new Position(20, 21), new Position(21, 21),
                        new Position(21, 20), new Position(22, 20)
                    })
                })
            },
                    new GeometryParams
            {
                AdditionalProperties = new Dictionary <string, object> {
                    { "a", "b" }
                },
                BoundingBox = new BoundingBox(new Position(0, 0), new Position(40, 41)),
                Crs         = Crs.Named("SomeCrs")
            });

            var polygon6 =
                new MultiPolygon(
                    new[]
            {
                new PolygonCoordinates(
                    new[]
                {
                    new LinearRing(
                        new[]
                    {
                        new Position(20, 20), new Position(20, 21), new Position(21, 21),
                        new Position(21, 20), new Position(22, 20)
                    })
                })
            },
                    new GeometryParams
            {
                AdditionalProperties = new Dictionary <string, object> {
                    { "a", "b" }
                },
                BoundingBox = new BoundingBox(new Position(0, 0), new Position(40, 40)),
                Crs         = Crs.Named("SomeCrs1")
            });

            Assert.AreEqual(multiPolygon1, multiPolygon2);
            Assert.AreEqual(multiPolygon1.GetHashCode(), multiPolygon2.GetHashCode());

            Assert.AreNotEqual(multiPolygon1, polygon3);
            Assert.AreNotEqual(multiPolygon1.GetHashCode(), polygon3.GetHashCode());

            Assert.AreNotEqual(multiPolygon1, polygon4);
            Assert.AreNotEqual(multiPolygon1.GetHashCode(), polygon4.GetHashCode());

            Assert.AreNotEqual(multiPolygon1, polygon5);
            Assert.AreNotEqual(multiPolygon1.GetHashCode(), polygon5.GetHashCode());

            Assert.AreNotEqual(multiPolygon1, polygon6);
            Assert.AreNotEqual(multiPolygon1.GetHashCode(), polygon6.GetHashCode());
        }
        public void TestGeometryCollectionEqualsHashCode()
        {
            var geometryCollection1 = new GeometryCollection(
                new[] { new Point(20, 30), new Point(30, 40) },
                new GeometryParams
            {
                AdditionalProperties = new Dictionary <string, object> {
                    { "a", "b" }
                },
                BoundingBox = new BoundingBox(new Position(0, 0), new Position(40, 40)),
                Crs         = Crs.Named("SomeCrs")
            });

            var geometryCollection2 = new GeometryCollection(
                new[] { new Point(20, 30), new Point(30, 40) },
                new GeometryParams
            {
                AdditionalProperties = new Dictionary <string, object> {
                    { "a", "b" }
                },
                BoundingBox = new BoundingBox(new Position(0, 0), new Position(40, 40)),
                Crs         = Crs.Named("SomeCrs")
            });

            var geometryCollection3 = new GeometryCollection(
                new[] { new Point(20, 30), new Point(30, 41) },
                new GeometryParams
            {
                AdditionalProperties = new Dictionary <string, object> {
                    { "a", "b" }
                },
                BoundingBox = new BoundingBox(new Position(0, 0), new Position(40, 40)),
                Crs         = Crs.Named("SomeCrs")
            });

            var geometryCollection4 = new GeometryCollection(
                new[] { new Point(20, 30), new Point(30, 40) },
                new GeometryParams
            {
                AdditionalProperties = new Dictionary <string, object> {
                    { "b", "c" }
                },
                BoundingBox = new BoundingBox(new Position(0, 0), new Position(40, 40)),
                Crs         = Crs.Named("SomeCrs")
            });

            var geometryCollection5 = new GeometryCollection(
                new[] { new Point(20, 30), new Point(30, 40) },
                new GeometryParams
            {
                AdditionalProperties = new Dictionary <string, object> {
                    { "a", "b" }
                },
                BoundingBox = new BoundingBox(new Position(0, 0), new Position(40, 41)),
                Crs         = Crs.Named("SomeCrs")
            });

            var geometryCollection6 = new GeometryCollection(
                new[] { new Point(20, 30), new Point(30, 40) },
                new GeometryParams
            {
                AdditionalProperties = new Dictionary <string, object> {
                    { "a", "b" }
                },
                BoundingBox = new BoundingBox(new Position(0, 0), new Position(40, 40)),
                Crs         = Crs.Named("SomeCrs1")
            });

            Assert.AreEqual(geometryCollection1, geometryCollection2);
            Assert.AreEqual(geometryCollection1.GetHashCode(), geometryCollection2.GetHashCode());

            Assert.AreNotEqual(geometryCollection1, geometryCollection3);
            Assert.AreNotEqual(geometryCollection1.GetHashCode(), geometryCollection3.GetHashCode());

            Assert.AreNotEqual(geometryCollection1, geometryCollection4);
            Assert.AreNotEqual(geometryCollection1.GetHashCode(), geometryCollection4.GetHashCode());

            Assert.AreNotEqual(geometryCollection1, geometryCollection5);
            Assert.AreNotEqual(geometryCollection1.GetHashCode(), geometryCollection5.GetHashCode());

            Assert.AreNotEqual(geometryCollection1, geometryCollection6);
            Assert.AreNotEqual(geometryCollection1.GetHashCode(), geometryCollection6.GetHashCode());
        }