public void FastGeoJsonWriterShouldSerializeSameGeographyAsGeoJsonObjectWriter()
        {
            var geographys = new Geography[]
            {
                GeographyFactory.Polygon().Ring(33.1, -110).LineTo(1,2).LineTo(35.97, -110.15).LineTo(11.45, 87.75).Ring(35.97, -110).LineTo(0.03, -0.01).LineTo(45.23, 23.10).Build(),
                GeographyFactory.Point(32, -100).Build(),
                GeographyFactory.LineString(32, -100).LineTo(0, 100).LineTo(0.9, -10.3).LineTo(16.85, 35).Build(),
                GeographyFactory.MultiPoint().Point(10.2, 11.2).Point(0.1, 0.1).Build(),
                GeographyFactory.MultiPolygon().Polygon().Ring(33.1, -110).LineTo(35.97, -110.15).LineTo(11.45, 87.75).LineTo(-1, -0.9).Ring(35.97, -110).LineTo(0.03, -0.01).LineTo(45.23, 23.10).LineTo(9.01, 1).Polygon().Ring(35.97, -110).LineTo(0.03, -0.01).LineTo(45.23, 23.10).LineTo(0.9, 100.5).Ring(33.1, -110).LineTo(35.97, -110.15).LineTo(11.45, 87.75).LineTo(88.77, 33.55).Build()
            };

            var converter = new GeographyTypeConverter();
            ValidateSerializationResultShouldBeSame(OriginalWriteJsonLight, (instance, writer) => converter.WriteJsonLight(instance, writer), geographys);
        }
        public void FastGeoJsonWriterShouldSerializeSameGeographyAsGeoJsonObjectWriter()
        {
            var geographys = new Geography[]
            {
                GeographyFactory.Polygon().Ring(33.1, -110).LineTo(1, 2).LineTo(35.97, -110.15).LineTo(11.45, 87.75).Ring(35.97, -110).LineTo(0.03, -0.01).LineTo(45.23, 23.10).Build(),
                GeographyFactory.Point(32, -100).Build(),
                GeographyFactory.LineString(32, -100).LineTo(0, 100).LineTo(0.9, -10.3).LineTo(16.85, 35).Build(),
                GeographyFactory.MultiPoint().Point(10.2, 11.2).Point(0.1, 0.1).Build(),
                GeographyFactory.MultiPolygon().Polygon().Ring(33.1, -110).LineTo(35.97, -110.15).LineTo(11.45, 87.75).LineTo(-1, -0.9).Ring(35.97, -110).LineTo(0.03, -0.01).LineTo(45.23, 23.10).LineTo(9.01, 1).Polygon().Ring(35.97, -110).LineTo(0.03, -0.01).LineTo(45.23, 23.10).LineTo(0.9, 100.5).Ring(33.1, -110).LineTo(35.97, -110.15).LineTo(11.45, 87.75).LineTo(88.77, 33.55).Build()
            };

            var converter = new GeographyTypeConverter();

            ValidateSerializationResultShouldBeSame(OriginalWriteJsonLight, (instance, writer) => converter.WriteJsonLight(instance, writer), geographys);
        }
Exemplo n.º 3
0
        public void GeographyTypeConverter_TokenizeFromXml_GeoRssParserShouldParse()
        {
            XElement xel = XElement.Parse("<?xml version=\"1.0\" encoding=\"utf-16\"?><Element><gml:Point xmlns:gml=\"http://www.opengis.net/gml\" srsName=\"http://www.opengis.net/def/crs/EPSG/0/4326\"><gml:pos>45.256 -71.92</gml:pos></gml:Point></Element>");
            var      r   = xel.CreateReader();

            r.Read();

            GeographyTypeConverter converter = new GeographyTypeConverter();
            var token = converter.TokenizeFromXml(r) as InstancePrimitiveParserToken <Geography>;

            Assert.IsNotNull(token);
            Assert.IsTrue(token.Instance is GeographyPoint);

            Assert.AreEqual(XmlNodeType.EndElement, r.NodeType);
            Assert.AreEqual("Element", r.LocalName);
        }