Exemplo n.º 1
0
        /// <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()));
        }
Exemplo n.º 2
0
        /// <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()));
        }
Exemplo n.º 3
0
        /// <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()}");
        }