//------------------------------------------------------------------------------ bool IsSyncAction(TDDData.SerializerActions acton) { if (acton == TDDData.SerializerActions.Delete || acton == TDDData.SerializerActions.Save) { return(true); } return(false); }
//------------------------------------------------------------------------------ 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(); }
//------------------------------------------------------------------------------ void SerializerAction(Type serializerType, TDDData.SerializerActions action, string settingName, bool secure) { m_actualSerializerTypes.Add(serializerType); m_actualSerializerActions.Add(action); m_actualActionSecurityFlags.Add(secure); }