Example #1
0
        //------------------------------------------------------------------------------
        bool IsSyncAction(TDDData.SerializerActions acton)
        {
            if (acton == TDDData.SerializerActions.Delete || acton == TDDData.SerializerActions.Save)
            {
                return(true);
            }

            return(false);
        }
Example #2
0
        //------------------------------------------------------------------------------
        void Test(string func, TDDData.SerializerActions action)
        {
            var tddHandler = new TDDHandler();

            { // library serializer
                SettingsConfiguration.Serializer = new LibrarySerializer();
                Invoke(typeof(SimpleSettings), func);

                Type librarySerializerType = typeof(LibrarySerializer);
                var  serializerTypes       = new List <String>()
                {
                    librarySerializerType.FullName,
                    librarySerializerType.FullName,
                };
                if (IsSyncAction(action))
                {
                    serializerTypes.Add(librarySerializerType.FullName);
                }

                var actions = new List <TDDData.SerializerActions>()
                {
                    action, action
                };
                if (IsSyncAction(action))
                {
                    actions.Add(TDDData.SerializerActions.Synchronize);
                }

                var securityFlags = new List <bool>()
                {
                    false, true
                };
                if (IsSyncAction(action))
                {
                    securityFlags.Add(false);
                }

                CheckSerializerTypeUsage(serializerTypes);
                CheckSerializerActionUsage(actions);
                CheckActionSecurityUsage(securityFlags);
            }

            { // class serializer over library serializer
                Invoke(typeof(ClassSerializerSettings), func);

                Type classSerializerType = typeof(ClassSerializer);

                var serializerTypes = new List <String>()
                {
                    classSerializerType.FullName,
                    classSerializerType.FullName,
                };
                if (IsSyncAction(action))
                {
                    serializerTypes.Add(classSerializerType.FullName);
                }

                var actions = new List <TDDData.SerializerActions>()
                {
                    action, action
                };
                if (IsSyncAction(action))
                {
                    actions.Add(TDDData.SerializerActions.Synchronize);
                }

                var securityFlags = new List <bool>()
                {
                    false, true
                };
                if (IsSyncAction(action))
                {
                    securityFlags.Add(false);
                }

                CheckSerializerTypeUsage(serializerTypes);
                CheckSerializerActionUsage(actions);
                CheckActionSecurityUsage(securityFlags);
            }

            { // field serializer over class and library serializers
                Invoke(typeof(FieldSerializerSettings), func);

                Type fieldSerializerType = typeof(FieldSerializer);

                var serializerTypes = new List <String>()
                {
                    fieldSerializerType.FullName,
                    fieldSerializerType.FullName,
                };
                if (IsSyncAction(action))
                {
                    serializerTypes.Add(fieldSerializerType.FullName);
                }

                var actions = new List <TDDData.SerializerActions>()
                {
                    action, action
                };
                if (IsSyncAction(action))
                {
                    actions.Add(TDDData.SerializerActions.Synchronize);
                }

                var securityFlags = new List <bool>()
                {
                    false, true
                };
                if (IsSyncAction(action))
                {
                    securityFlags.Add(false);
                }

                CheckSerializerTypeUsage(serializerTypes);
                CheckSerializerActionUsage(actions);
                CheckActionSecurityUsage(securityFlags);
            }

            { // field and class serializer over library serializer
                Invoke(typeof(CompoundSerializerSettings), func);

                Type fieldSerializerType = typeof(FieldSerializer);
                Type classSerializerType = typeof(ClassSerializer);

                var serializerTypes = new List <String>()
                {
                    classSerializerType.FullName,
                    classSerializerType.FullName,
                    fieldSerializerType.FullName,
                    fieldSerializerType.FullName,
                };
                if (IsSyncAction(action))
                {
                    serializerTypes.Add(classSerializerType.FullName);
                    serializerTypes.Add(fieldSerializerType.FullName);
                }

                var actions = new List <TDDData.SerializerActions>()
                {
                    action, action, action, action
                };
                if (IsSyncAction(action))
                {
                    actions.Add(TDDData.SerializerActions.Synchronize);
                    actions.Add(TDDData.SerializerActions.Synchronize);
                }

                var securityFlags = new List <bool>()
                {
                    false, true, false, true
                };
                if (IsSyncAction(action))
                {
                    securityFlags.Add(false);
                    securityFlags.Add(false);
                }

                CheckSerializerTypeUsage(serializerTypes);
                CheckSerializerActionUsage(actions);
                CheckActionSecurityUsage(securityFlags);
            }

            { // field and library serializers
                Invoke(typeof(FieldAndLibrarySerializerSettings), func);

                Type fieldSerializerType   = typeof(FieldSerializer);
                Type librarySerializerType = typeof(LibrarySerializer);

                var serializerTypes = new List <String>()
                {
                    fieldSerializerType.FullName,
                    librarySerializerType.FullName,
                    fieldSerializerType.FullName,
                    librarySerializerType.FullName,
                };
                if (IsSyncAction(action))
                {
                    serializerTypes.Add(fieldSerializerType.FullName);
                    serializerTypes.Add(librarySerializerType.FullName);
                }

                var actions = new List <TDDData.SerializerActions>()
                {
                    action, action, action, action
                };
                if (IsSyncAction(action))
                {
                    actions.Add(TDDData.SerializerActions.Synchronize);
                    actions.Add(TDDData.SerializerActions.Synchronize);
                }

                var securityFlags = new List <bool>()
                {
                    false, false, true, true
                };
                if (IsSyncAction(action))
                {
                    securityFlags.Add(false);
                    securityFlags.Add(false);
                }

                CheckSerializerTypeUsage(serializerTypes);
                CheckSerializerActionUsage(actions);
                CheckActionSecurityUsage(securityFlags);
            }

            { // built in serializers
                SettingsConfiguration.Serializer = null;

                Invoke(typeof(SimpleSettings), func);

                var serializerTypes = new List <String>()
                {
                    "Advexp.ISettingsSerializerImpl",
                    "Advexp.ISettingsSerializerImpl",
                };
                if (IsSyncAction(action))
                {
                    serializerTypes.Add("Advexp.ISettingsSerializerImpl");
                }

                var actions = new List <TDDData.SerializerActions>()
                {
                    action, action
                };
                if (IsSyncAction(action))
                {
                    actions.Add(TDDData.SerializerActions.Synchronize);
                }

                var securityFlags = new List <bool>()
                {
                    false, true
                };
                if (IsSyncAction(action))
                {
                    securityFlags.Add(false);
                }

                CheckSerializerTypeUsage(serializerTypes);
                CheckSerializerActionUsage(actions);
                CheckActionSecurityUsage(securityFlags);
            }

            tddHandler.CheckErrors();
        }
Example #3
0
 //------------------------------------------------------------------------------
 void SerializerAction(Type serializerType, TDDData.SerializerActions action, string settingName, bool secure)
 {
     m_actualSerializerTypes.Add(serializerType);
     m_actualSerializerActions.Add(action);
     m_actualActionSecurityFlags.Add(secure);
 }