public void UseBusinessObjectClassService() { IBusinessObjectClassService mockService = _mockRepository.StrictMock <IBusinessObjectClassService>(); IBusinessObjectClass expectedClass = _mockRepository.Stub <IBusinessObjectClass>(); IBusinessObject businessObjectFromOtherBusinessObjectProvider = _mockRepository.Stub <IBusinessObject>(); Type typeFromOtherBusinessObjectProvider = businessObjectFromOtherBusinessObjectProvider.GetType(); IBusinessObjectReferenceProperty property = CreateProperty("Scalar", typeFromOtherBusinessObjectProvider); Expect.Call(mockService.GetBusinessObjectClass(typeFromOtherBusinessObjectProvider)).Return(expectedClass); _mockRepository.ReplayAll(); _bindableObjectProvider.AddService(typeof(IBusinessObjectClassService), mockService); IBusinessObjectClass actualClass = property.ReferenceClass; _mockRepository.VerifyAll(); Assert.That(actualClass, Is.SameAs(expectedClass)); }
private IBusinessObjectClassService GetBusinessObjectClassService() { IBusinessObjectClassService service = BusinessObjectProvider.GetService <IBusinessObjectClassService>(); if (service == null) { throw new InvalidOperationException( string.Format( "The '{0}' type does not use the '{1}' implementation of '{2}' and there is no '{3}' registered with the '{4}' associated with this type.", UnderlyingType.FullName, typeof(BindableObjectMixin).Namespace, typeof(IBusinessObject).FullName, typeof(IBusinessObjectClassService).FullName, typeof(BusinessObjectProvider).FullName)); } return(service); }
private IBusinessObjectClass GetReferenceClassFromService() { IBusinessObjectClassService service = GetBusinessObjectClassService(); IBusinessObjectClass businessObjectClass = service.GetBusinessObjectClass(UnderlyingType); if (businessObjectClass == null) { throw new InvalidOperationException( string.Format( "The GetBusinessObjectClass method of '{0}', registered with the '{1}', failed to return an '{2}' for type '{3}'.", service.GetType().FullName, BusinessObjectProvider.GetType().FullName, typeof(IBusinessObjectClass).FullName, UnderlyingType.FullName)); } return(businessObjectClass); }
public void WithoutSearchServiceAttribute_AndNoDefaultSearchService_FromPropertyType() { IBusinessObjectClassService businessObjectClassServiceMock = _mockRepository.StrictMock <IBusinessObjectClassService> (); IBusinessObjectProvider businessObjectProviderMock = _mockRepository.StrictMock <IBusinessObjectProvider> (); IBusinessObjectClassWithIdentity businessObjectClassWithIdentityMock = _mockRepository.StrictMock <IBusinessObjectClassWithIdentity> (); IBusinessObjectReferenceProperty property = CreatePropertyWithoutMixing("NoSearchService"); Expect.Call(businessObjectClassWithIdentityMock.BusinessObjectProvider).Return(businessObjectProviderMock).Repeat.Any(); Expect.Call(businessObjectProviderMock.GetService(typeof(ISearchAvailableObjectsService))).Return(null); Expect.Call(businessObjectClassServiceMock.GetBusinessObjectClass(typeof(ClassFromOtherBusinessObjectImplementation))) .Return(businessObjectClassWithIdentityMock); _mockRepository.ReplayAll(); _bindableObjectProviderForDeclaringType.AddService(businessObjectClassServiceMock); _mockRepository.VerifyAll(); Assert.That(property.SupportsSearchAvailableObjects, Is.False); }