public void TypeSerializer_Test()
 {
     var typeSerializer = new LineStringSerializer();
     foreach (var item in Values)
     {
         var serialized = typeSerializer.Serialize(1, item);
         var deserialized = typeSerializer.Deserialize(1, serialized, 0, serialized.Length, null);
         Assert.AreEqual(item, deserialized);
         //starting from offset
         serialized = new byte[] { 1, 2, 3 }.Concat(serialized).ToArray();
         deserialized = typeSerializer.Deserialize(1, serialized, 3, serialized.Length - 3, null);
         Assert.AreEqual(item, deserialized);
     }
 }
示例#2
0
        public void TypeSerializer_Test()
        {
            var typeSerializer = new LineStringSerializer();

            foreach (var item in Values)
            {
                var serialized   = typeSerializer.Serialize(1, item);
                var deserialized = typeSerializer.Deserialize(1, serialized, 0, serialized.Length, null);
                Assert.AreEqual(item, deserialized);
                //starting from offset
                serialized   = new byte[] { 1, 2, 3 }.Concat(serialized).ToArray();
                deserialized = typeSerializer.Deserialize(1, serialized, 3, serialized.Length - 3, null);
                Assert.AreEqual(item, deserialized);
            }
        }
示例#3
0
        public static void Serialize(XmlWriter writer, AbstractGeometryType gmlObject)
        {
            XmlSerializerNamespaces namespaces = new XmlSerializerNamespaces();
            namespaces.Add(string.Empty, string.Empty);
            namespaces.Add("gml", "http://www.opengis.net/gml/3.2");

            if (gmlObject is MultiCurveType) {
                MultiCurveSerializer.Serialize(writer, gmlObject, namespaces);
                return;
            }

            if (gmlObject is MultiSurfaceType) {
                MultiSurfaceSerializer.Serialize(writer, gmlObject, namespaces);
                return;
            }

            if (gmlObject is MultiPointType) {
                MultiPointSerializer.Serialize(writer, gmlObject, namespaces);
                return;
            }

            if (gmlObject is LineStringType)
            {
                LineStringSerializer.Serialize(writer, gmlObject, namespaces);
                return;
            }

            if (gmlObject is PolygonType)
            {
                PolygonSerializer.Serialize(writer, gmlObject, namespaces);
                return;
            }

            if (gmlObject is PointType)
            {
                PointSerializer.Serialize(writer, gmlObject, namespaces);
                return;
            }

            throw new NotImplementedException(gmlObject.GetType().ToString());
        }