Exemple #1
0
        protected byte[] TestSerialize <TClassType>(TClassType objectToSerialize, VerifySerializedBytesDelegate verifyFunction, SerializationDefaults serializationDefaults = null)
            where TClassType : class, T
        {
            // We want to test loading by attributes and by file
            Serializer.Instance.GetClassInfo(typeof(TClassType), true, serializationDefaults);
            byte[] serializedBytes = Serializer.Instance.Serialize(objectToSerialize);
            verifyFunction(serializedBytes, objectToSerialize);

            if (_includeFileTesting)
            {
                ConfigMessageSerializerClass.WriteDefaultToFile(typeof(TClassType));
                ConfigMessageSerializerClass        configMessageSerializerClass = ConfigMessageSerializerClass.ReadFromFile(typeof(TClassType));
                List <ConfigMessageSerializerClass> classList = new List <ConfigMessageSerializerClass>()
                {
                    configMessageSerializerClass
                };
                Serializer.Instance.GetClassInfo(typeof(TClassType), classList, true, serializationDefaults);
                byte[] serializedBytesConfig = Serializer.Instance.Serialize(objectToSerialize);
                verifyFunction(serializedBytesConfig, objectToSerialize);

                Assert.That(serializedBytes.SequenceEqual(serializedBytesConfig), Is.True, "BytesEqual");
            }

            return(serializedBytes);
        }
Exemple #2
0
        protected TClassType TestDeserialize <TClassType>(byte[] bytesToDeserialize, TClassType originalObject, VerifyDeserializedObjectDelegate verifyFunction, SerializationDefaults serializationDefaults = null)
            where TClassType : class, T
        {
            Serializer.Instance.GetClassInfo(typeof(TClassType), true, serializationDefaults);
            TClassType deserializedObject = Serializer.Instance.Deserialize <TClassType>(bytesToDeserialize);

            verifyFunction(deserializedObject, bytesToDeserialize, originalObject);

            if (_includeFileTesting)
            {
                ConfigMessageSerializerClass.WriteDefaultToFile(typeof(TClassType));
                ConfigMessageSerializerClass        configMessageSerializerClass = ConfigMessageSerializerClass.ReadFromFile(typeof(TClassType));
                List <ConfigMessageSerializerClass> classList = new List <ConfigMessageSerializerClass>()
                {
                    configMessageSerializerClass
                };
                Serializer.Instance.GetClassInfo(typeof(TClassType), classList, true, serializationDefaults);
                TClassType deserializedObjectConfig = Serializer.Instance.Deserialize <TClassType>(bytesToDeserialize);
                verifyFunction(deserializedObjectConfig, bytesToDeserialize, originalObject);
            }

            return(deserializedObject);
        }