public void UnknownConstraintEventArgs_ctor_Success() { UnknownConstraintEventArgs args = new UnknownConstraintEventArgs(Constants.MemberName, ParameterDataType.Guid); Assert.AreEqual(Constants.MemberName, args.ConstraintName); Assert.AreEqual(ParameterDataType.Guid, args.DataType); Assert.IsNull(args.Constraint); args.Constraint = new DummyConstraint(); Assert.IsNotNull(args.Constraint); }
/// <summary> /// Raises the <see cref="UnknownConstraint"/> event, and returns the first constraint resolved by an event handler. /// </summary> /// <param name="constraintName">The name of the constraint.</param> /// <param name="dataType">The data type that the constraint is used for.</param> /// <returns>The <see cref="Constraint"/> created by an event handler, based on the <paramref name="constraintName"/>, or <see langword="null"/>, if no event handler was present, or the <paramref name="constraintName"/> is unknown.</returns> protected virtual Constraint OnUnknownConstraint(string constraintName, ParameterDataType dataType) { EventHandler<UnknownConstraintEventArgs> ucHandler = UnknownConstraint; if (ucHandler != null) { UnknownConstraintEventArgs e = new UnknownConstraintEventArgs(constraintName, dataType); foreach (EventHandler<UnknownConstraintEventArgs> handler in ucHandler.GetInvocationList()) { handler.Invoke(this, e); if (e.Constraint != null) { return e.Constraint; } } } return null; }