Type
// Copyright 2019 Florian Gather <florian.gather@tngtech.com>
// Copyright 2019 Paula Ruiz <paularuiz22@gmail.com>
// Copyright 2019 Fritz Brandhuber <fritz.brandhuber@tngtech.com>
//
// SPDX-License-Identifier: Apache-2.0
TReturnType Are(Type firstType, params Type[] moreTypes);
TReturnType Are(IEnumerable<Type> types);
TReturnType AreAssignableTo(string pattern, bool useRegularExpressions = false);
TReturnType AreAssignableTo(IEnumerable<string> patterns, bool useRegularExpressions = false);
TReturnType AreAssignableTo(IType firstType, params IType[] moreTypes);
TReturnType AreAssignableTo(Type type, params Type[] moreTypes);
TReturnType AreAssignableTo(IObjectProvider<IType> types);
TReturnType AreAssignableTo(IEnumerable<IType> types);
TReturnType AreAssignableTo(IEnumerable<Type> types);
TReturnType ImplementInterface(string pattern, bool useRegularExpressions = false);
TReturnType ImplementInterface(Interface intf);
TReturnType ImplementInterface(Type intf);
TReturnType ResideInNamespace(string pattern, bool useRegularExpressions = false);
TReturnType ResideInAssembly(string pattern, bool useRegularExpressions = false);
TReturnType ResideInAssembly(Assembly assembly, params Assembly[] moreAssemblies);
TReturnType HavePropertyMemberWithName(string name);
TReturnType HaveFieldMemberWithName(string name);
TReturnType HaveMethodMemberWithName(string name);
TReturnType HaveMemberWithName(string name);
TReturnType AreNested();
//Negations
TReturnType AreNot(Type firstType, params Type[] moreTypes);
TReturnType AreNot(IEnumerable<Type> types);
TReturnType AreNotAssignableTo(string pattern, bool useRegularExpressions = false);
TReturnType AreNotAssignableTo(IEnumerable<string> patterns, bool useRegularExpressions = false);
TReturnType AreNotAssignableTo(IType type, params IType[] moreTypes);
TReturnType AreNotAssignableTo(Type type, params Type[] moreTypes);
TReturnType AreNotAssignableTo(IObjectProvider<IType> types);
TReturnType AreNotAssignableTo(IEnumerable<IType> types);
TReturnType AreNotAssignableTo(IEnumerable<Type> types);
TReturnType DoNotImplementInterface(string pattern, bool useRegularExpressions = false);
TReturnType DoNotImplementInterface(Interface intf);
TReturnType DoNotImplementInterface(Type intf);
TReturnType DoNotResideInNamespace(string pattern, bool useRegularExpressions = false);
TReturnType DoNotResideInAssembly(string pattern, bool useRegularExpressions = false);
TReturnType DoNotResideInAssembly(Assembly assembly, params Assembly[] moreAssemblies);
TReturnType DoNotHavePropertyMemberWithName(string name);
TReturnType DoNotHaveFieldMemberWithName(string name);
TReturnType DoNotHaveMethodMemberWithName(string name);
TReturnType DoNotHaveMemberWithName(string name);
TReturnType AreNotNested();