Example #1
0
        public void DeserializeCustomEncodingXmlString()
        {
            string source = "<?xml version=\"1.0\" encoding=\"iso-8859-1\"?>\r\n<SerializableObject xmlns:xsi=\"http://www.w3.org/2001/XMLSchema-instance\" xmlns:xsd=\"http://www.w3.org/2001/XMLSchema\"><ObjectName>Objeto para serialização</ObjectName><ObjectValue>1</ObjectValue><ObjectCreationDate>2014-07-24T14:08:36.2336326-03:00</ObjectCreationDate></SerializableObject>";

            SerializableObject actual = Serializer.XmlDeserialize <SerializableObject>(source);

            Assert.IsNotNull(actual);

            Assert.AreEqual(actual.ObjectName, "Objeto para serialização");
        }
Example #2
0
        public void XmlSerializeObjectWithCustomEncoding()
        {
            Encoding encoding = Encoding.GetEncoding("ISO-8859-1");

            DateTime creationDate = DateTime.Now;

            SerializableObject serializableObject = new SerializableObject();

            serializableObject.ObjectName         = "Objeto para serialização";
            serializableObject.ObjectValue        = 2;
            serializableObject.ObjectCreationDate = creationDate.ToString("yyyy-MM-ddTHH:mm:ss.fffffffzzz");

            // Serializa o objeto.
            string serializedString = Serializer.XmlSerialize(serializableObject, true, encoding);

            // Falha caso o objeto seja nulo.
            Assert.IsNotNull(serializedString);

            // Obtém o byte de especificação de encoding.
            string byteOrder = encoding.GetString(encoding.GetPreamble());

            // Remove o caracter de especificação de encoding.
            if (serializedString.StartsWith(byteOrder) == true)
            {
                serializedString = serializedString.Remove(0, byteOrder.Length);
            }

            // Separa todas as linhas do xml.
            string[] lines = serializedString.Split(new string[] { "\r\n" }, StringSplitOptions.None);

            // Verifica se foram retornadas 6 linhas.
            Assert.AreEqual(6, lines.Length);

            // Verifica se o header é válido.
            Assert.AreEqual(string.Format("<?xml version=\"1.0\" encoding=\"{0}\"?>", encoding.BodyName), lines[0]);

            // Verifica se o namespace é válido.
            Assert.AreEqual("<SerializableObject xmlns:xsi=\"http://www.w3.org/2001/XMLSchema-instance\" xmlns:xsd=\"http://www.w3.org/2001/XMLSchema\">", lines[1]);

            // Verifica se o nome do objeto é válido.
            Assert.AreEqual("\t<ObjectName>Objeto para serialização</ObjectName>", lines[2]);

            // Verifica se o valor do objeto é válido.
            Assert.AreEqual("\t<ObjectValue>2</ObjectValue>", lines[3]);

            // Verifica se a data de criação do objeto é válida.
            Assert.AreEqual(string.Format("\t<ObjectCreationDate>{0}</ObjectCreationDate>", creationDate.ToString("yyyy-MM-ddTHH:mm:ss.fffffffzzz")), lines[4]);

            // Verifica se o fechamento do objeto é válido.
            Assert.AreEqual("</SerializableObject>", lines[5]);
        }
Example #3
0
        public void JsonSerializeObject()
        {
            DateTime creationDate = DateTime.Now;

            SerializableObject serializableObject = new SerializableObject();

            serializableObject.ObjectName         = "Objeto para serialização";
            serializableObject.ObjectValue        = 1;
            serializableObject.ObjectCreationDate = creationDate.ToString("yyyy-MM-ddTHH:mm:ss.fffffffzzz");

            // Desserializa o objeto.
            string serializedString = Serializer.JsonSerialize(serializableObject);

            Assert.IsNotNull(serializedString);
        }
Example #4
0
        public void JavaScriptSerializeIncludeNull()
        {
            DateTime creationDate = DateTime.Now;

            SerializableObject serializableObject = new SerializableObject();

            serializableObject.ObjectName         = null;
            serializableObject.ObjectValue        = 1;
            serializableObject.ObjectCreationDate = creationDate.ToString("yyyy-MM-ddTHH:mm:ss.fffffffzzz");

            // Desserializa o objeto.
            string serializedString = Serializer.JavaScriptSerialize(serializableObject, false);

            Assert.IsNotNull(serializedString);
            Assert.AreEqual("{\"ObjectName\":null,\"ObjectValue\":1,\"ObjectCreationDate\":\"" + creationDate.ToString("yyyy-MM-ddTHH:mm:ss.fffffffzzz") + "\"}", serializedString);
        }
Example #5
0
        public void NewtonsoftSerialize()
        {
            DateTime creationDate = DateTime.Now;

            SerializableObject serializableObject = new SerializableObject();

            serializableObject.ObjectName         = "Objeto para serialização";
            serializableObject.ObjectValue        = 1;
            serializableObject.ObjectCreationDate = creationDate.ToString("yyyy-MM-ddTHH:mm:ss.fffffffzzz");

            // Desserializa o objeto.
            string serializedString = Serializer.NewtonsoftSerialize(serializableObject);

            Assert.IsNotNull(serializedString);
            Assert.AreEqual("{\"ObjectName\":\"Objeto para serialização\",\"ObjectValue\":1,\"ObjectCreationDate\":\"" + creationDate.ToString("yyyy-MM-ddTHH:mm:ss.fffffffzzz") + "\"}", serializedString);
        }
Example #6
0
        public void NewtonsoftDeserialize()
        {
            DateTime creationDate = DateTime.Now;

            SerializableObject serializableObject = new SerializableObject();

            serializableObject.ObjectName         = "Objeto para serialização";
            serializableObject.ObjectValue        = 1;
            serializableObject.ObjectCreationDate = creationDate.ToString("yyyy-MM-ddTHH:mm:ss.fffffffzzz");

            // Desserializa o objeto.
            string serializedString = Serializer.JavaScriptSerialize(serializableObject);

            CamelCaseSerializableObject newObject = Serializer.JavaScriptDeserialize <CamelCaseSerializableObject>(serializedString);

            Assert.IsNotNull(newObject);
            Assert.AreEqual(serializableObject.ObjectName, newObject.objectName);
            Assert.AreEqual(serializableObject.ObjectValue, newObject.objectValue);
            Assert.AreEqual(serializableObject.ObjectCreationDate, newObject.objectCreationDate);
        }
        public void XmlSerializeObjectWithCustomEncoding() {

            Encoding encoding = Encoding.GetEncoding("ISO-8859-1");

            DateTime creationDate = DateTime.Now;

            SerializableObject serializableObject = new SerializableObject();

            serializableObject.ObjectName = "Objeto para serialização";
            serializableObject.ObjectValue = 2;
            serializableObject.ObjectCreationDate = creationDate.ToString("yyyy-MM-ddTHH:mm:ss.fffffffzzz");

            // Serializa o objeto.
            string serializedString = Serializer.XmlSerialize(serializableObject, true, encoding);

            // Falha caso o objeto seja nulo.
            Assert.IsNotNull(serializedString);

            // Obtém o byte de especificação de encoding.
            string byteOrder = encoding.GetString(encoding.GetPreamble());

            // Remove o caracter de especificação de encoding.
            if (serializedString.StartsWith(byteOrder) == true) { serializedString = serializedString.Remove(0, byteOrder.Length); }

            // Separa todas as linhas do xml.
            string[] lines = serializedString.Split(new string[] { "\r\n" }, StringSplitOptions.None);

            // Verifica se foram retornadas 6 linhas.
            Assert.AreEqual(6, lines.Length);

            // Verifica se o header é válido.
            Assert.AreEqual(string.Format("<?xml version=\"1.0\" encoding=\"{0}\"?>", encoding.BodyName), lines[0]);

            // Verifica se o namespace é válido.
            Assert.AreEqual("<SerializableObject xmlns:xsi=\"http://www.w3.org/2001/XMLSchema-instance\" xmlns:xsd=\"http://www.w3.org/2001/XMLSchema\">", lines[1]);

            // Verifica se o nome do objeto é válido.
            Assert.AreEqual("\t<ObjectName>Objeto para serialização</ObjectName>", lines[2]);

            // Verifica se o valor do objeto é válido.
            Assert.AreEqual("\t<ObjectValue>2</ObjectValue>", lines[3]);

            // Verifica se a data de criação do objeto é válida.
            Assert.AreEqual(string.Format("\t<ObjectCreationDate>{0}</ObjectCreationDate>", creationDate.ToString("yyyy-MM-ddTHH:mm:ss.fffffffzzz")), lines[4]);

            // Verifica se o fechamento do objeto é válido.
            Assert.AreEqual("</SerializableObject>", lines[5]);
        }
        public void NewtonsoftDeserialize() {

            DateTime creationDate = DateTime.Now;

            SerializableObject serializableObject = new SerializableObject();

            serializableObject.ObjectName = "Objeto para serialização";
            serializableObject.ObjectValue = 1;
            serializableObject.ObjectCreationDate = creationDate.ToString("yyyy-MM-ddTHH:mm:ss.fffffffzzz");

            // Desserializa o objeto.
            string serializedString = Serializer.JavaScriptSerialize(serializableObject);

            CamelCaseSerializableObject newObject = Serializer.JavaScriptDeserialize<CamelCaseSerializableObject>(serializedString);

            Assert.IsNotNull(newObject);
            Assert.AreEqual(serializableObject.ObjectName, newObject.objectName);
            Assert.AreEqual(serializableObject.ObjectValue, newObject.objectValue);
            Assert.AreEqual(serializableObject.ObjectCreationDate, newObject.objectCreationDate);
        }
        public void JavaScriptSerializeIncludeNull() {

            DateTime creationDate = DateTime.Now;

            SerializableObject serializableObject = new SerializableObject();

            serializableObject.ObjectName = null;
            serializableObject.ObjectValue = 1;
            serializableObject.ObjectCreationDate = creationDate.ToString("yyyy-MM-ddTHH:mm:ss.fffffffzzz");

            // Desserializa o objeto.
            string serializedString = Serializer.JavaScriptSerialize(serializableObject, false);

            Assert.IsNotNull(serializedString);
            Assert.AreEqual("{\"ObjectName\":null,\"ObjectValue\":1,\"ObjectCreationDate\":\"" + creationDate.ToString("yyyy-MM-ddTHH:mm:ss.fffffffzzz") + "\"}", serializedString);
        }
        public void JavaScriptDynamicDeserialize() {

            #region Serialização
            DateTime creationDate = DateTime.Now;

            SerializableObject serializableObject = new SerializableObject();

            serializableObject.ObjectName = "Objeto para serialização";
            serializableObject.ObjectValue = 1;
            serializableObject.ObjectCreationDate = creationDate.ToString("yyyy-MM-ddTHH:mm:ss.fffffffzzz");

            // Desserializa o objeto.
            string serializedString = Serializer.NewtonsoftSerialize(serializableObject);
            #endregion

            dynamic newObject = Serializer.DynamicDeserialize(serializedString);

            string name = newObject.ObjectName;

            Assert.IsNotNull(newObject);
            Assert.AreEqual(serializableObject.ObjectName, newObject.ObjectName);
            Assert.AreEqual(serializableObject.ObjectValue, newObject.ObjectValue);
            Assert.AreEqual(serializableObject.ObjectCreationDate, newObject.ObjectCreationDate);
        }
        public void NewtonsoftSerialize() {

            DateTime creationDate = DateTime.Now;

            SerializableObject serializableObject = new SerializableObject();

            serializableObject.ObjectName = "Objeto para serialização";
            serializableObject.ObjectValue = 1;
            serializableObject.ObjectCreationDate = creationDate.ToString("yyyy-MM-ddTHH:mm:ss.fffffffzzz");

            // Desserializa o objeto.
            string serializedString = Serializer.NewtonsoftSerialize(serializableObject);

            Assert.IsNotNull(serializedString);
            Assert.AreEqual("{\"ObjectName\":\"Objeto para serialização\",\"ObjectValue\":1,\"ObjectCreationDate\":\"" + creationDate.ToString("yyyy-MM-ddTHH:mm:ss.fffffffzzz") + "\"}", serializedString);
        }
        public void JsonSerializeObject() {

            DateTime creationDate = DateTime.Now;

            SerializableObject serializableObject = new SerializableObject();

            serializableObject.ObjectName = "Objeto para serialização";
            serializableObject.ObjectValue = 1;
            serializableObject.ObjectCreationDate = creationDate.ToString("yyyy-MM-ddTHH:mm:ss.fffffffzzz");

            // Desserializa o objeto.
            string serializedString = Serializer.JsonSerialize(serializableObject);

            Assert.IsNotNull(serializedString);
        }
Example #13
0
        public void DeserializeNullXmlString()
        {
            SerializableObject actual = Serializer.XmlDeserialize <SerializableObject>(null);

            Assert.IsNull(actual);
        }