/// <summary> /// Serializes an object. /// </summary> /// <param name="value">The value to serialize</param> /// <returns>The serialized value</returns> public static string Serialize(object value) { if (value == null) { throw new ArgumentNullException("value"); } var array = value as object[]; if (array != null) { value = new XunitSerializationInfo.ArraySerializer(array); } var serializable = value as IXunitSerializable; if (serializable == null) { throw new ArgumentException("Cannot serialize an object that does not implement " + typeof(IXunitSerializable).FullName, "value"); } var serializationInfo = new XunitSerializationInfo(serializable); return(String.Format("{0}:{1}", GetTypeNameForSerialization(value.GetType()), serializationInfo.ToSerializedString())); }
/// <summary> /// Serializes an object. /// </summary> /// <param name="value">The value to serialize</param> /// <returns>The serialized value</returns> public static string Serialize(object value) { if (value == null) { throw new ArgumentNullException("value"); } var array = value as object[]; if (array != null) { value = new XunitSerializationInfo.ArraySerializer(array); } var getData = value as IGetTypeData; if (getData == null) { throw new ArgumentException("Cannot serialize an object that does not implement IGetTypeData", "value"); } var serializationInfo = new XunitSerializationInfo(getData); return(String.Format("{0}:{1}", value.GetType().AssemblyQualifiedName, serializationInfo.ToSerializedString())); }
/// <summary> /// Serializes an object. /// </summary> /// <param name="value">The value to serialize</param> /// <returns>The serialized value</returns> public static string Serialize(object value) { if (value == null) { throw new ArgumentNullException(nameof(value)); } if (value is object[] array) { value = new XunitSerializationInfo.ArraySerializer(array); } if (!(value is IXunitSerializable serializable)) { throw new ArgumentException("Cannot serialize an object that does not implement " + typeof(IXunitSerializable).FullName, nameof(value)); } var serializationInfo = new XunitSerializationInfo(serializable); return($"{GetTypeNameForSerialization(value.GetType())}:{serializationInfo.ToSerializedString()}"); }