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));
        }
Пример #2
0
        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);
        }
Пример #3
0
        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);
        }
Пример #4
0
        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);
        }