public void SetValue_OldValueIsNewlyCreatedDefaultValue() { _referencedDataSourceStub.BusinessObject.Stub(stub => stub.GetProperty(_referencePropertyStub)).Return(null).Repeat.Once(); _referencePropertyStub.Stub(stub => stub.SupportsDefaultValue).Return(true); _referencePropertyStub.Stub(stub => stub.SupportsDelete).Return(true); var oldValue = MockRepository.GenerateStub <IBusinessObject> (); _referencePropertyStub.Stub(stub => stub.CreateDefaultValue(_referencedDataSourceStub.BusinessObject)) .Return(oldValue) .Repeat.Once(); var referenceDataSource = new TestableBusinessObjectReferenceDataSource(_referencedDataSourceStub, _referencePropertyStub); referenceDataSource.Mode = DataSourceMode.Edit; referenceDataSource.LoadValue(false); Assert.That(referenceDataSource.HasBusinessObjectCreated, Is.True); Assert.That(referenceDataSource.BusinessObject, Is.SameAs(oldValue)); referenceDataSource.BusinessObject = null; Assert.That(referenceDataSource.HasBusinessObjectCreated, Is.False); Assert.That(referenceDataSource.BusinessObject, Is.Null); _referencePropertyStub.AssertWasCalled(stub => stub.Delete(_referencedDataSourceStub.BusinessObject, oldValue)); }
public void SetUp() { _referencedDataSourceStub = MockRepository.GenerateStub <IBusinessObjectDataSource>(); _referencedDataSourceStub.BusinessObject = MockRepository.GenerateStub <IBusinessObject>(); _referencedDataSourceStub.Stub(_ => _.BusinessObjectClass).Return(MockRepository.GenerateStub <IBusinessObjectClass>()); _referencedDataSourceStub.Mode = DataSourceMode.Edit; _referencePropertyStub = MockRepository.GenerateStub <IBusinessObjectReferenceProperty>(); _referencePropertyStub.Stub(_ => _.ReflectedClass).Return(MockRepository.GenerateStub <IBusinessObjectClass>()); _referencePropertyStub.Stub(stub => stub.ReferenceClass).Return(MockRepository.GenerateStub <IBusinessObjectClass>()); _readOnlyReferencePropertyStub = MockRepository.GenerateStub <IBusinessObjectReferenceProperty>(); _readOnlyReferencePropertyStub.Stub(_ => _.ReflectedClass).Return(MockRepository.GenerateStub <IBusinessObjectClass>()); _readOnlyReferencePropertyStub.Stub(stub => stub.ReferenceClass).Return(MockRepository.GenerateStub <IBusinessObjectClass>()); _readOnlyReferencePropertyStub .Stub(stub => stub.IsReadOnly(Arg <IBusinessObject> .Is.Anything)) .Return(true); }
public void SetUp() { _referencedDataSourceStub = MockRepository.GenerateStub <IBusinessObjectDataSource>(); _referencedDataSourceStub.BusinessObject = MockRepository.GenerateStub <IBusinessObject>(); _referencedDataSourceStub.Stub(_ => _.BusinessObjectClass).Return(MockRepository.GenerateStub <IBusinessObjectClass>()); _referencePropertyStub = MockRepository.GenerateStub <IBusinessObjectReferenceProperty> (); _referencePropertyStub.Stub(_ => _.ReflectedClass).Return(MockRepository.GenerateStub <IBusinessObjectClass>()); }
public override void SetUp() { base.SetUp(); _referencedDataSourceStub = MockRepository.GenerateStub <IBusinessObjectDataSource> (); _referencedDataSourceStub.BusinessObject = MockRepository.GenerateStub <IBusinessObject> (); _referencedDataSourceStub.Mode = DataSourceMode.Edit; _referencePropertyStub = MockRepository.GenerateStub <IBusinessObjectReferenceProperty> (); _referencePropertyStub.Stub(stub => stub.ReferenceClass).Return(MockRepository.GenerateStub <IBusinessObjectClass> ()); _referencePropertyStub.Stub(stub => stub.ReflectedClass).Return(MockRepository.GenerateStub <IBusinessObjectClass> ()); _dataSourceControl = new BusinessObjectReferenceDataSourceControl(); _dataSourceControl.DataSource = _referencedDataSourceStub; _dataSourceControl.Property = _referencePropertyStub; _dataSourceControl.BusinessObject = MockRepository.GenerateStub <IBusinessObject> (); Assert.That(_dataSourceControl.IsReadOnly, Is.False); }
public void SupportsDefaultValue_True_AllBoundControlsEmpty_NotAllBoundControlsValid_ReturnsTrue() { _referencePropertyStub.Stub(stub => stub.SupportsDefaultValue).Return(true); _referencePropertyStub.Stub(stub => stub.IsDefaultValue(null, null, null)).IgnoreArguments().Return(true); var firstControlStub = MockRepository.GenerateMock <IBusinessObjectBoundControl, IValidatableControl> (); firstControlStub.Stub(stub => stub.HasValidBinding).Return(true); firstControlStub.Stub(stub => stub.HasValue).Return(false); ((IValidatableControl)firstControlStub).Stub(stub => stub.Validate()).Return(true); _dataSourceControl.Register(firstControlStub); var secondControlStub = MockRepository.GenerateMock <IBusinessObjectBoundControl, IValidatableControl> (); secondControlStub.Stub(stub => stub.HasValidBinding).Return(true); secondControlStub.Stub(stub => stub.HasValue).Return(false); ((IValidatableControl)secondControlStub).Stub(stub => stub.Validate()).Return(false); _dataSourceControl.Register(secondControlStub); Assert.That(_dataSourceControl.Validate(), Is.True); }
public void PropertyIsReadOnly_ThrowsInvalidOperationException() { var expectedValue = MockRepository.GenerateStub <IBusinessObject>(); _referencedDataSourceStub.BusinessObject.Stub(stub => stub.GetProperty(_readOnlyReferencePropertyStub)).Return(expectedValue); _readOnlyReferencePropertyStub.ReferenceClass.Stub(stub => stub.RequiresWriteBack).Return(true); _readOnlyReferencePropertyStub.Stub(stub => stub.Identifier).Return("TestProperty"); var referenceDataSource = new TestableBusinessObjectReferenceDataSource(_referencedDataSourceStub, _readOnlyReferencePropertyStub); referenceDataSource.ID = "TestDataSource"; referenceDataSource.LoadValue(false); Assert.That(referenceDataSource.HasBusinessObjectChanged, Is.False); Assert.That( () => referenceDataSource.SaveValue(false), Throws.InvalidOperationException.With.Message.EqualTo( "The business object of the TestDataSource could not be saved into the domain model " + "because the property 'TestProperty' is read only.")); _referencedDataSourceStub.BusinessObject.AssertWasNotCalled(stub => stub.SetProperty(null, null), options => options.IgnoreArguments()); }
public void ClearsHasBusinessObjectCreated() { _referencePropertyStub.Stub(stub => stub.SupportsDefaultValue).Return(true); _referencePropertyStub.Stub(stub => stub.CreateDefaultValue(_referencedDataSourceStub.BusinessObject)) .Return(MockRepository.GenerateStub <IBusinessObject> ()); var referenceDataSource = new TestableBusinessObjectReferenceDataSource(_referencedDataSourceStub, _referencePropertyStub); referenceDataSource.Mode = DataSourceMode.Edit; referenceDataSource.LoadValue(false); Assert.That(referenceDataSource.HasBusinessObjectCreated, Is.True); referenceDataSource.SaveValue(false); Assert.That(referenceDataSource.HasBusinessObjectCreated, Is.False); }