private BindableObjectClass CreateBindableObjectClass(Type type) { if (!IsBindableObjectImplementation(type)) { if (type.ContainsGenericParameters) { throw new ArgumentException( string.Format( "The type '{0}' is not a bindable object implementation. Open generic types are not supported.", type.FullName), "type"); } throw new ArgumentException( string.Format( "The type '{0}' is not a bindable object implementation. It must either have a mixin derived from BindableObjectMixinBase<T> applied " + "or implement the IBusinessObject interface and apply the BindableObjectBaseClassAttribute.", type.FullName), "type"); } IClassReflector classReflector = _metadataFactory.CreateClassReflector(type, this); Assertion.IsNotNull(classReflector, "The IMetadataFactory.CreateClassReflector method evaluated and returned null."); return(classReflector.GetMetadata()); }
public void CreateClassReflector() { BindableObjectProvider provider = new BindableObjectProvider(); IClassReflector classReflector = BindableObjectMetadataFactory.Create().CreateClassReflector(typeof(TestClass), provider); Assert.That(classReflector.TargetType, Is.SameAs(typeof(TestClass))); Assert.That(classReflector.BusinessObjectProvider, Is.SameAs(provider)); }
public void SetUp() { _mocks = new MockRepository(); _accessTypeReflectorMock = _mocks.StrictMock <IAccessTypeReflector> (); _classReflectorMock = _mocks.StrictMock <IClassReflector> (); _abstractRoleReflectorMock = _mocks.StrictMock <IAbstractRoleReflector> (); _assemblyReflector = new AssemblyReflector(_accessTypeReflectorMock, _classReflectorMock, _abstractRoleReflectorMock); _cache = new MetadataCache(); }
public AssemblyReflector(IAccessTypeReflector accessTypeReflector, IClassReflector classReflector, IAbstractRoleReflector abstractRoleReflector) { ArgumentUtility.CheckNotNull("accessTypeReflector", accessTypeReflector); ArgumentUtility.CheckNotNull("classReflector", classReflector); ArgumentUtility.CheckNotNull("abstractRoleReflector", abstractRoleReflector); _accessTypeReflector = accessTypeReflector; _classReflector = classReflector; _abstractRoleReflector = abstractRoleReflector; }