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"); }
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 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); }
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 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 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); }
public void DeserializeNullXmlString() { SerializableObject actual = Serializer.XmlDeserialize <SerializableObject>(null); Assert.IsNull(actual); }