public BehaviorElement CreateBehavior(IDeclaredElement field) { var clazz = ((ITypeMember)field).GetContainingType() as IClass; if (clazz == null) { return null; } var context = this._cache.TryGetContext(clazz); if (context == null) { return null; } var fieldType = new NormalizedTypeName(field as ITypeOwner); var behavior = this.GetOrCreateBehavior(context, clazz.GetClrName(), field.ShortName, field.IsIgnored(), fieldType); foreach (var child in behavior.Children) { child.State = UnitTestElementState.Pending; } this._cache.AddBehavior(field, behavior); return behavior; }
public BehaviorElement CreateBehavior(ContextElement context, IMetadataField behavior) { var typeContainingBehaviorSpecifications = behavior.GetFirstGenericArgument(); var metadataTypeName = behavior.FirstGenericArgumentClass().FullyQualifiedName(); var fieldType = new NormalizedTypeName(metadataTypeName); var behaviorElement = this.GetOrCreateBehavior(context, this._reflectionTypeNameCache.GetClrName(behavior.DeclaringType), behavior.Name, behavior.IsIgnored() || typeContainingBehaviorSpecifications.IsIgnored(), fieldType); return behaviorElement; }