Пример #1
0
 public static void AssertAbstractClass <T>(this StructureTest test)
 {
     test.AssertClass <T>(new TypeIsAbstractVerifier(true));
 }
Пример #2
0
 public static void AssertPublicDelegate <T, TDelegate>(this StructureTest test) where TDelegate : Delegate
 {
     test.AssertDelegate <T, TDelegate>(new TypeAccessLevelVerifier(AccessLevels.Public));
 }
Пример #3
0
        public static void AssertMethod <TInstance, TPar1, TPar2>(this StructureTest test, Expression <Action <TInstance, TPar1, TPar2> > locator, params IMemberVerifier[] verifiers)
        {
            MethodCallExpression methodCallExpression = (MethodCallExpression)locator.Body;

            test.AssertMethod(methodCallExpression.Method, verifiers);
        }
Пример #4
0
 public static void AssertPublicMethod <TInstance, TPar1, TPar2>(this StructureTest test, Expression <Action <TInstance, TPar1, TPar2> > locator)
 {
     test.AssertMethod(locator, new MemberAccessLevelVerifier(AccessLevels.Public));
 }
Пример #5
0
 public static void AssertPublicEvent(this StructureTest test, EventInfo info)
 {
     test.AssertEvent(info, new MemberAccessLevelVerifier(AccessLevels.Public));
 }
Пример #6
0
 public static void AssertClass <T>(this StructureTest test, params ITypeVerifier[] verifiers)
 {
     test.AssertClass(typeof(T), verifiers);
 }
Пример #7
0
 public static void AssertPublicReadonlyProperty <TInstance, TProperty>(this StructureTest test, Expression <Func <TInstance, TProperty> > locator)
 {
     test.AssertProperty(locator, new PropertyIsReadonlyVerifier());
 }
Пример #8
0
 public static void AssertConstructor(this StructureTest test, ConstructorInfo constructorInfo, params IMemberVerifier[] verifiers)
 {
     IMemberVerifier[] allVerifiers = verifiers.Union(new[] { new MemberTypeVerifier(MemberTypes.Constructor) }).ToArray();
     test.AssertMember(constructorInfo, allVerifiers);
 }
Пример #9
0
 public static void AssertPublicReadonlyProperty(this StructureTest test, PropertyInfo propertyInfo)
 {
     test.AssertProperty(propertyInfo, new PropertyIsReadonlyVerifier());
 }
Пример #10
0
        // Design note, methods with qualifiers (like public & abstract) should not be extendable
        // and instead the methods without qualifiers should be used. This is done in an effort to avoid
        // StructureTest.AssertPublicClass<T>(new TypeIsAbstract()) and
        // StructureTest.AssertAbstractClass<T>(new TypeAccessLevel(AccessLevel.Public)),
        // which are fully equavilent however look different.

        public static void AssertClass(this StructureTest test, Type type, params ITypeVerifier[] verifiers)
        {
            test.AssertType(type, verifiers);
        }
Пример #11
0
 public static void AssertPublicProperty <TInstance, TProperty>(this StructureTest test, PropertyInfo propertyInfo)
 {
     test.AssertProperty(propertyInfo, new MemberAccessLevelVerifier(AccessLevels.Public));
 }
Пример #12
0
 public static void AssertProperty(this StructureTest test, PropertyInfo propertyInfo, params IMemberVerifier[] verifiers)
 {
     IMemberVerifier[] allVerifiers = verifiers.Union(new[] { new MemberTypeVerifier(MemberTypes.Property) }).ToArray();
     test.AssertMember(propertyInfo, allVerifiers);
 }
Пример #13
0
 public static void AssertPublicReadonlyField <TInstance, TField>(this StructureTest test, Expression <Func <TInstance, TField> > locator)
 {
     test.AssertField(locator, new FieldIsInitOnlyVerifier(), new MemberAccessLevelVerifier(AccessLevels.Public));
 }
Пример #14
0
 public static void AssertInterface <T>(this StructureTest test, params ITypeVerifier[] verifiers)
 {
     ITypeVerifier[] allVerifiers = verifiers.Union(new[] { new TypeIsInterfaceVerifier() }).ToArray();
     test.AssertType(typeof(T), allVerifiers);
 }
Пример #15
0
 public static void AssertPublicWriteonlyProperty <TInstance, TProperty>(this StructureTest test, Expression <Func <TInstance, TProperty> > locator)
 {
     test.AssertProperty(locator, new MemberAccessLevelVerifier(AccessLevels.Public), new PropertyIsWriteonlyVerifier());
 }
Пример #16
0
 public static void AssertPublicInterface <T>(this StructureTest test)
 {
     test.AssertInterface <T>(new TypeAccessLevelVerifier(AccessLevels.Public));
 }
Пример #17
0
 public static void AssertMethod(this StructureTest test, MethodInfo methodInfo, params IMemberVerifier[] verifiers)
 {
     IMemberVerifier[] allVerifiers = verifiers.Union(new[] { new MemberTypeVerifier(MemberTypes.Method) }).ToArray();
     test.AssertMember(methodInfo, allVerifiers);
 }
Пример #18
0
 public static void AssertPublicConstructor <TPar1, TReturn>(this StructureTest test, Expression <Func <TPar1, TReturn> > locator)
 {
     test.AssertConstructor <TPar1, TReturn>(locator, new MemberAccessLevelVerifier(AccessLevels.Public));
 }
Пример #19
0
 public static void AssertEvent(this StructureTest test, EventInfo info, params IMemberVerifier[] verifiers)
 {
     IMemberVerifier[] allVerifiers = verifiers.Union(new[] { new MemberTypeVerifier(MemberTypes.Event) }).ToArray();
     test.AssertMember(info, allVerifiers);
 }