Changeset 8154 for trunk/sources/HeuristicLab.Tests/HeuristicLab-3.3
- Timestamp:
- 06/28/12 16:40:03 (12 years ago)
- File:
-
- 1 edited
Legend:
- Unmodified
- Added
- Removed
-
trunk/sources/HeuristicLab.Tests/HeuristicLab-3.3/ParameterVisibilityTest.cs
r8121 r8154 24 24 using System.Reflection; 25 25 using System.Text; 26 using HeuristicLab.Common;27 26 using HeuristicLab.Core; 28 using HeuristicLab.Data;29 using HeuristicLab.Parameters;30 27 using HeuristicLab.PluginInfrastructure; 31 28 using Microsoft.VisualStudio.TestTools.UnitTesting; … … 59 56 foreach (var parameterizedItem in ApplicationManager.Manager.GetInstances<IParameterizedItem>()) { 60 57 foreach (var parameter in parameterizedItem.Parameters) { 61 if (parameter.GetType().IsGenericType && parameter.GetType().GetGenericTypeDefinition() == typeof(ConstrainedValueParameter<>) || 62 parameter.GetType().IsGenericType && parameter.GetType().GetGenericTypeDefinition() == typeof(OptionalConstrainedValueParameter<>)) { 63 var parameterGenericTypeArgument = parameter.GetType().GetGenericArguments().First(); 64 var parameterGenericTypeDefinition = typeof(IConstrainedValueParameter<>); 58 var parameterType = parameter.GetType().GetInterfaces().FirstOrDefault(x => x.IsGenericType && x.GetGenericTypeDefinition() == typeof(IConstrainedValueParameter<>)); 59 if (parameterType == null) continue; 65 60 66 var paramProperty = parameterizedItem.GetType().GetProperty(parameter.Name + "Parameter", 67 BindingFlags.GetProperty | BindingFlags.Instance | BindingFlags.Public); 68 var valueProperty = parameterizedItem.GetType().GetProperty(parameter.Name, 69 BindingFlags.GetProperty | BindingFlags.Instance | 70 BindingFlags.Public); 71 if (paramProperty == null) 72 errorMessage.Append(Environment.NewLine + parameterizedItem.GetType() + 73 ": public property " + parameter.Name + "Parameter is missing."); 74 else if (paramProperty.PropertyType.GetGenericTypeDefinition() != parameterGenericTypeDefinition) 75 errorMessage.Append(Environment.NewLine + parameterizedItem.GetType() + 76 ": public property " + parameter.Name + "Parameter type must be " + parameterGenericTypeDefinition.Name); 77 else if (paramProperty.PropertyType.GetGenericArguments().First() != parameterGenericTypeArgument) 78 errorMessage.Append(Environment.NewLine + parameterizedItem.GetType() + 79 ": public property " + parameter.Name + "Parameter generic type argument does not match the generic type argument of the parameter."); 61 var parameterGenericTypeArgument = parameterType.GetGenericArguments().First(); 62 var parameterGenericTypeDefinition = typeof(IConstrainedValueParameter<>); 80 63 81 if (valueProperty == null) 82 TestContext.WriteLine(parameterizedItem.GetType() + ": public property " + parameter.Name + " is missing."); 83 else if (valueProperty.PropertyType != parameterGenericTypeArgument) { 84 TestContext.WriteLine(parameterizedItem.GetType() + ": " + parameter.Name + " property type does not match the generic type argument of the parameter."); 85 } else if (!valueProperty.CanRead || !valueProperty.CanWrite) 86 TestContext.WriteLine(parameterizedItem.GetType() + ": public property " + parameter.Name + " must have a getter and a setter."); 87 } 64 var paramProperty = parameterizedItem.GetType().GetProperty(parameter.Name + "Parameter", 65 BindingFlags.GetProperty | BindingFlags.Instance | BindingFlags.Public); 66 var valueProperty = parameterizedItem.GetType().GetProperty(parameter.Name, 67 BindingFlags.GetProperty | BindingFlags.Instance | 68 BindingFlags.Public); 69 if (paramProperty == null) 70 errorMessage.Append(Environment.NewLine + parameterizedItem.GetType() + 71 ": public property " + parameter.Name + "Parameter is missing."); 72 else if (paramProperty.PropertyType.GetGenericTypeDefinition() != parameterGenericTypeDefinition) 73 errorMessage.Append(Environment.NewLine + parameterizedItem.GetType() + 74 ": public property " + parameter.Name + "Parameter type must be " + parameterGenericTypeDefinition.Name); 75 else if (paramProperty.PropertyType.GetGenericArguments().First() != parameterGenericTypeArgument) 76 errorMessage.Append(Environment.NewLine + parameterizedItem.GetType() + 77 ": public property " + parameter.Name + "Parameter generic type argument does not match the generic type argument of the parameter."); 78 79 if (valueProperty == null) 80 TestContext.WriteLine(parameterizedItem.GetType() + ": public property " + parameter.Name + " is missing."); 81 else if (valueProperty.PropertyType != parameterGenericTypeArgument) { 82 TestContext.WriteLine(parameterizedItem.GetType() + ": " + parameter.Name + " property type does not match the generic type argument of the parameter."); 83 } else if (!valueProperty.CanRead || !valueProperty.CanWrite) 84 TestContext.WriteLine(parameterizedItem.GetType() + ": public property " + parameter.Name + " must have a getter and a setter."); 88 85 } 89 86 }
Note: See TracChangeset
for help on using the changeset viewer.