2011-03-28 3 views
2

주어진 값을 주장하는 확장 메서드가 목록의 값 중 하나입니다. 궁금새로운 NUnit 제약을 구성하는 방법

public static void IsEither<T>(this T value, params T[] allowedValues) 
{ 
    EqualConstraint isInAllowed = null; 

    foreach (var allowed in allowedValues) 
     isInAllowed = isInAllowed == null ? 
          Is.EqualTo(allowed) : isInAllowed.Or.EqualTo(allowed); 

    Assert.That(value, isInAllowed); 
} 

특히 NUnit과의 ConstraintBuilder, ConstraintExpression를 사용하여,이 일을 다른 더 나은/우아한 방법이, ConstraintOperator 등

답변

1

는 도움이 될 것 NUnit과의 CollectionAssert이있다. 컬렉션에 다른 항목이 있다고 주장하는 경우 다음과 같이 시도해보세요.

public static void IsEither<T>(this T value, params T[] allowedValues) 
{ 
    CollectionAssert.Contains(allowedValues, value); 
} 
관련 문제