Пример #1
0
        public void LoadsValuesForBoundControls()
        {
            var referencedObject = MockRepository.GenerateStub <IBusinessObject>();

            _referencedDataSourceStub.BusinessObject.Stub(stub => stub.GetProperty(_referencePropertyStub)).Return(referencedObject);

            var referenceDataSource = new TestableBusinessObjectReferenceDataSource(_referencedDataSourceStub, _referencePropertyStub);

            var firstControlMock = MockRepository.GenerateMock <IBusinessObjectBoundControl>();

            firstControlMock.Stub(stub => stub.HasValidBinding).Return(true);
            referenceDataSource.Register(firstControlMock);

            var secondControlMock = MockRepository.GenerateMock <IBusinessObjectBoundControl>();

            secondControlMock.Stub(stub => stub.HasValidBinding).Return(true);
            referenceDataSource.Register(secondControlMock);

            firstControlMock.Expect(mock => mock.LoadValue(false))
            .WhenCalled(mi => Assert.That(referenceDataSource.BusinessObject, Is.SameAs(referencedObject)));
            secondControlMock.Expect(mock => mock.LoadValue(false))
            .WhenCalled(mi => Assert.That(referenceDataSource.BusinessObject, Is.SameAs(referencedObject)));

            referenceDataSource.LoadValue(false);

            firstControlMock.VerifyAllExpectations();
            secondControlMock.VerifyAllExpectations();
        }
Пример #2
0
        public void SavesValuesForBoundControls_NotAllControlsCanSave_ReturnsFalse()
        {
            var referenceDataSource = new TestableBusinessObjectReferenceDataSource(_referencedDataSourceStub, _referencePropertyStub);

            referenceDataSource.BusinessObject = null;

            var firstControlMock = MockRepository.GenerateMock <IBusinessObjectBoundEditableControl> ();

            firstControlMock.Stub(stub => stub.HasValidBinding).Return(true);
            referenceDataSource.Register(firstControlMock);

            var secondControlMock = MockRepository.GenerateMock <IBusinessObjectBoundEditableControl> ();

            secondControlMock.Stub(stub => stub.HasValidBinding).Return(true);
            referenceDataSource.Register(secondControlMock);

            firstControlMock.Expect(mock => mock.SaveValue(false)).Return(false);
            secondControlMock.Expect(mock => mock.SaveValue(false)).Return(true);

            var result = referenceDataSource.SaveValue(false);

            Assert.That(result, Is.False);
            firstControlMock.VerifyAllExpectations();
            secondControlMock.VerifyAllExpectations();
        }
Пример #3
0
        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));
        }
Пример #4
0
        public void LoadValueCalledAgainWithInterimFalse_HasBusinessObjectCreatedTrue_BoundPropertyContainsValue_DoesNotCreateDefaultValue()
        {
            _referencedDataSourceStub.BusinessObject.Stub(stub => stub.GetProperty(_referencePropertyStub)).Return(null).Repeat.Once();
            _referencePropertyStub.Stub(stub => stub.SupportsDefaultValue).Return(true);
            var oldValue = MockRepository.GenerateStub <IBusinessObject> ();

            _referencePropertyStub.Stub(stub => stub.CreateDefaultValue(_referencedDataSourceStub.BusinessObject))
            .Return(oldValue)
            .Repeat.Once();

            var expectedValue = MockRepository.GenerateStub <IBusinessObject> ();

            _referencedDataSourceStub.BusinessObject.Stub(stub => stub.GetProperty(_referencePropertyStub)).Return(expectedValue).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.LoadValue(false);

            Assert.That(referenceDataSource.HasBusinessObjectCreated, Is.False);
            Assert.That(referenceDataSource.BusinessObject, Is.SameAs(expectedValue));
        }
Пример #5
0
        public void SavesValuesForBoundControls_OwnBusinessObjectNotNull()
        {
            var  expectedValue  = MockRepository.GenerateStub <IBusinessObject>();
            bool isControlSaved = false;

            _referencedDataSourceStub.BusinessObject.Stub(stub => stub.SetProperty(_referencePropertyStub, expectedValue))
// ReSharper disable AccessToModifiedClosure
            .WhenCalled(mi => Assert.That(isControlSaved, Is.True));
// ReSharper restore AccessToModifiedClosure

            var referenceDataSource = new TestableBusinessObjectReferenceDataSource(_referencedDataSourceStub, _referencePropertyStub);

            referenceDataSource.BusinessObject = expectedValue;

            var firstControlMock = MockRepository.GenerateMock <IBusinessObjectBoundEditableControl>();

            firstControlMock.Stub(stub => stub.HasValidBinding).Return(true);
            referenceDataSource.Register(firstControlMock);

            var secondControlMock = MockRepository.GenerateMock <IBusinessObjectBoundEditableControl>();

            secondControlMock.Stub(stub => stub.HasValidBinding).Return(true);
            referenceDataSource.Register(secondControlMock);

            firstControlMock.Expect(mock => mock.SaveValue(false)).Return(true).WhenCalled(mi => isControlSaved = true);
            secondControlMock.Expect(mock => mock.SaveValue(false)).Return(true);

            var result = referenceDataSource.SaveValue(false);

            Assert.That(result, Is.True);
            firstControlMock.VerifyAllExpectations();
            secondControlMock.VerifyAllExpectations();
        }
Пример #6
0
        public void ReferencedPropertyNull_DoesNotReadBusinessObject()
        {
            var referenceDataSource = new TestableBusinessObjectReferenceDataSource(_referencedDataSourceStub, null);

            referenceDataSource.BusinessObject = MockRepository.GenerateStub <IBusinessObject>();

            referenceDataSource.SaveValue(false);

            _referencedDataSourceStub.BusinessObject.AssertWasNotCalled(stub => stub.SetProperty(null, null), options => options.IgnoreArguments());
        }
Пример #7
0
        public void ReferencedDataSourceNull_DoesNotReadBusinessObject_DoesNotClearHasBusinessObjectChanged()
        {
            var referenceDataSource = new TestableBusinessObjectReferenceDataSource(null, _referencePropertyStub);

            referenceDataSource.BusinessObject = MockRepository.GenerateStub <IBusinessObject>();

            referenceDataSource.SaveValue(false);

            _referencedDataSourceStub.BusinessObject.AssertWasNotCalled(stub => stub.SetProperty(null, null), options => options.IgnoreArguments());
            Assert.That(referenceDataSource.HasBusinessObjectChanged, Is.True);
        }
Пример #8
0
        public void ClearsHasBusinessObjectChanged()
        {
            var referenceDataSource = new TestableBusinessObjectReferenceDataSource(_referencedDataSourceStub, _referencePropertyStub);

            referenceDataSource.BusinessObject = MockRepository.GenerateStub <IBusinessObject>();
            Assert.That(referenceDataSource.HasBusinessObjectChanged, Is.True);

            referenceDataSource.SaveValue(false);

            Assert.That(referenceDataSource.HasBusinessObjectChanged, Is.False);
        }
Пример #9
0
        public void DoesNotRequireWriteBack_WithoutControls_ReturnsTrue()
        {
            var referenceDataSource = new TestableBusinessObjectReferenceDataSource(_referencedDataSourceStub, _referencePropertyStub);

            _referencedDataSourceStub.BusinessObjectClass.Stub(_ => _.RequiresWriteBack).Return(false);
            _referencePropertyStub.Stub(_ => _.IsReadOnly(Arg <IBusinessObject> .Is.Anything)).Return(true); // IsReadOnlyInDomain to ensure exit branch

            var result = referenceDataSource.SaveValue(false);

            Assert.That(result, Is.True);
        }
Пример #10
0
        public void ReferencedPropertyNull_DoesNotSetBusinessObject_DoesNotClearHasBusinessObjectChanged()
        {
            var referenceDataSource = new TestableBusinessObjectReferenceDataSource(_referencedDataSourceStub, null);
            var expectedValue       = MockRepository.GenerateStub <IBusinessObject>();

            referenceDataSource.BusinessObject = expectedValue;

            referenceDataSource.LoadValue(false);

            Assert.That(referenceDataSource.BusinessObject, Is.SameAs(expectedValue));
            Assert.That(referenceDataSource.HasBusinessObjectChanged, Is.True);
        }
Пример #11
0
        public void ReferencedDataSourceBusinessObjectNull_SetsBusinessObjectNull()
        {
            _referencedDataSourceStub.BusinessObject = null;

            var referenceDataSource = new TestableBusinessObjectReferenceDataSource(_referencedDataSourceStub, _referencePropertyStub);

            referenceDataSource.BusinessObject = MockRepository.GenerateStub <IBusinessObject>();

            referenceDataSource.LoadValue(false);

            Assert.That(referenceDataSource.BusinessObject, Is.Null);
        }
Пример #12
0
        public void ReferencedDataSourceBusinessObjectNull_DoesNotCreateDefaultValue()
        {
            _referencedDataSourceStub.BusinessObject = null;

            var referenceDataSource = new TestableBusinessObjectReferenceDataSource(_referencedDataSourceStub, _referencePropertyStub);

            referenceDataSource.BusinessObject = null;

            referenceDataSource.LoadValue(false);

            _referencePropertyStub.AssertWasNotCalled(stub => stub.SupportsDefaultValue);
            _referencePropertyStub.AssertWasNotCalled(stub => stub.CreateDefaultValue(null), options => options.IgnoreArguments());
        }
Пример #13
0
        public void SavesValueIntoBoundObject_AndReturnsTrue()
        {
            var expectedValue = MockRepository.GenerateStub <IBusinessObject>();

            var referenceDataSource = new TestableBusinessObjectReferenceDataSource(_referencedDataSourceStub, _referencePropertyStub);

            referenceDataSource.BusinessObject = expectedValue;

            var result = referenceDataSource.SaveValue(false);

            Assert.That(result, Is.True);
            _referencedDataSourceStub.BusinessObject.AssertWasCalled(stub => stub.SetProperty(_referencePropertyStub, expectedValue));
        }
Пример #14
0
        public void HasBusinessObjectChangedFalse_BusinessObjectNull_DoesNotSaveValueIntoBoundObject_AndReturnsTrue()
        {
            var referenceDataSource = new TestableBusinessObjectReferenceDataSource(_referencedDataSourceStub, _referencePropertyStub);

            _referencedDataSourceStub.BusinessObject.Stub(stub => stub.GetProperty(_referencePropertyStub)).Return(null);
            referenceDataSource.LoadValue(false);
            Assert.That(referenceDataSource.HasBusinessObjectChanged, Is.False);

            var result = referenceDataSource.SaveValue(false);

            Assert.That(result, Is.True);
            _referencedDataSourceStub.BusinessObject.AssertWasNotCalled(stub => stub.SetProperty(null, null), options => options.IgnoreArguments());
        }
Пример #15
0
        public void SupportsDefaultValueFalse_IsDefaultValueNotCalled()
        {
            var referencedObject = MockRepository.GenerateStub <IBusinessObject> ();

            _referencePropertyStub.Stub(stub => stub.SupportsDefaultValue).Return(false);

            var referenceDataSource = new TestableBusinessObjectReferenceDataSource(_referencedDataSourceStub, _referencePropertyStub);

            referenceDataSource.BusinessObject = referencedObject;

            referenceDataSource.SaveValue(false);

            _referencePropertyStub.AssertWasNotCalled(stub => stub.IsDefaultValue(null, null, null), options => options.IgnoreArguments());
        }
Пример #16
0
        public void SupportsDefaultValueFalse_DoesNotSetDefaultValue()
        {
            _referencedDataSourceStub.BusinessObject.Stub(stub => stub.GetProperty(_referencePropertyStub)).Return(null);
            _referencePropertyStub.Stub(stub => stub.SupportsDefaultValue).Return(false);

            var referenceDataSource = new TestableBusinessObjectReferenceDataSource(_referencedDataSourceStub, _referencePropertyStub);

            referenceDataSource.Mode = DataSourceMode.Edit;

            referenceDataSource.LoadValue(false);

            Assert.That(referenceDataSource.BusinessObject, Is.Null);
            _referencePropertyStub.AssertWasNotCalled(stub => stub.CreateDefaultValue(Arg <IBusinessObject> .Is.Anything));
        }
Пример #17
0
        public void LoadsValueFromBoundObject()
        {
            var expectedValue = MockRepository.GenerateStub <IBusinessObject>();

            _referencedDataSourceStub.BusinessObject.Stub(stub => stub.GetProperty(_referencePropertyStub)).Return(expectedValue);

            var referenceDataSource = new TestableBusinessObjectReferenceDataSource(_referencedDataSourceStub, _referencePropertyStub);

            referenceDataSource.BusinessObject = null;

            referenceDataSource.LoadValue(false);

            Assert.That(referenceDataSource.BusinessObject, Is.SameAs(expectedValue));
        }
Пример #18
0
        public void ReferencedDataSourceBusinessObjectNull_DoesNotLoadValueFromProperty()
        {
            var parentObjectStub = _referencedDataSourceStub.BusinessObject;

            _referencedDataSourceStub.BusinessObject = null;

            var referenceDataSource = new TestableBusinessObjectReferenceDataSource(_referencedDataSourceStub, _referencePropertyStub);

            referenceDataSource.BusinessObject = MockRepository.GenerateStub <IBusinessObject> ();

            referenceDataSource.LoadValue(false);

            parentObjectStub.AssertWasNotCalled(stub => stub.GetProperty(null), options => options.IgnoreArguments());
        }
Пример #19
0
        public void BusinessObjectNull_IgnoresDefaultValueSemantics_AndReturnsTrue()
        {
            var referenceDataSource = new TestableBusinessObjectReferenceDataSource(_referencedDataSourceStub, _referencePropertyStub);

            referenceDataSource.BusinessObject = null;

            var result = referenceDataSource.SaveValue(false);

            Assert.That(result, Is.True);
            _referencePropertyStub.AssertWasNotCalled(stub => stub.SupportsDefaultValue);
            _referencePropertyStub.AssertWasNotCalled(stub => stub.SupportsDelete);
            _referencePropertyStub.AssertWasNotCalled(stub => stub.IsDefaultValue(null, null, null), options => options.IgnoreArguments());
            _referencePropertyStub.AssertWasNotCalled(stub => stub.Delete(null, null), options => options.IgnoreArguments());
            _referencedDataSourceStub.BusinessObject.AssertWasCalled(stub => stub.SetProperty(_referencePropertyStub, null));
        }
Пример #20
0
        public void ClearsHasBusinessObjectChanged()
        {
            _referencedDataSourceStub.BusinessObject.Stub(stub => stub.GetProperty(_referencePropertyStub))
            .Return(MockRepository.GenerateStub <IBusinessObject>());

            var referenceDataSource = new TestableBusinessObjectReferenceDataSource(_referencedDataSourceStub, _referencePropertyStub);

            referenceDataSource.BusinessObject = null;

            Assert.That(referenceDataSource.HasBusinessObjectChanged, Is.True);

            referenceDataSource.LoadValue(false);

            Assert.That(referenceDataSource.HasBusinessObjectChanged, Is.False);
        }
Пример #21
0
        public void HasValueFromProperty_DoesNotSetDefaultValue()
        {
            _referencedDataSourceStub.BusinessObject.Stub(stub => stub.GetProperty(_referencePropertyStub))
            .Return(MockRepository.GenerateStub <IBusinessObject>());
            _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.BusinessObject, Is.Not.Null);
        }
Пример #22
0
        public void PropertyIsReadOnly_DoesNotSaveValueIntoBoundObject()
        {
            var expectedValue = MockRepository.GenerateStub <IBusinessObject>();

            _referencedDataSourceStub.BusinessObject.Stub(stub => stub.GetProperty(_readOnlyReferencePropertyStub)).Return(expectedValue);
            _readOnlyReferencePropertyStub.ReferenceClass.Stub(stub => stub.RequiresWriteBack).Return(true);

            var referenceDataSource = new TestableBusinessObjectReferenceDataSource(_referencedDataSourceStub, _readOnlyReferencePropertyStub);

            referenceDataSource.LoadValue(false);
            Assert.That(referenceDataSource.HasBusinessObjectChanged, Is.False);

            Assert.That(() => referenceDataSource.SaveValue(false), Throws.Exception);

            _referencedDataSourceStub.BusinessObject.AssertWasNotCalled(stub => stub.SetProperty(null, null), options => options.IgnoreArguments());
        }
Пример #23
0
        public void IsDefaultValue_ClearsHasBusinessObjectChanged()
        {
            var referencedObject = MockRepository.GenerateStub <IBusinessObject> ();

            _referencePropertyStub.Stub(stub => stub.SupportsDefaultValue).Return(true);
            _referencePropertyStub.Stub(stub => stub.IsDefaultValue(null, null, null)).IgnoreArguments().Return(true);
            _referencePropertyStub.Stub(stub => stub.SupportsDelete).Return(true);

            var referenceDataSource = new TestableBusinessObjectReferenceDataSource(_referencedDataSourceStub, _referencePropertyStub);

            referenceDataSource.BusinessObject = referencedObject;

            referenceDataSource.SaveValue(false);

            Assert.That(referenceDataSource.HasBusinessObjectChanged, Is.False);
        }
Пример #24
0
        public void ParentIsNull_DoesNotSaveValueIntoBoundObject_AndReturnsFalse()
        {
            var parentObjectStub = _referencedDataSourceStub.BusinessObject;

            _referencedDataSourceStub.BusinessObject = null;
            var expectedValue = MockRepository.GenerateStub <IBusinessObject> ();

            var referenceDataSource = new TestableBusinessObjectReferenceDataSource(_referencedDataSourceStub, _referencePropertyStub);

            referenceDataSource.BusinessObject = expectedValue;

            var result = referenceDataSource.SaveValue(false);

            Assert.That(result, Is.False);
            parentObjectStub.AssertWasNotCalled(stub => stub.SetProperty(null, null), options => options.IgnoreArguments());
        }
Пример #25
0
        public void SetsDefaultValue()
        {
            _referencedDataSourceStub.BusinessObject.Stub(stub => stub.GetProperty(_referencePropertyStub)).Return(null);
            _referencePropertyStub.Stub(stub => stub.SupportsDefaultValue).Return(true);
            var expectedValue = MockRepository.GenerateStub <IBusinessObject>();

            _referencePropertyStub.Stub(stub => stub.CreateDefaultValue(_referencedDataSourceStub.BusinessObject)).Return(expectedValue);

            var referenceDataSource = new TestableBusinessObjectReferenceDataSource(_referencedDataSourceStub, _referencePropertyStub);

            referenceDataSource.Mode = DataSourceMode.Edit;

            referenceDataSource.LoadValue(false);

            Assert.That(referenceDataSource.BusinessObject, Is.SameAs(expectedValue));
        }
Пример #26
0
        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);
        }
Пример #27
0
        public void PropertyIsReadOnly_SavesValuesForBoundControls_AndReturnsTrue()
        {
            var referenceDataSource = new TestableBusinessObjectReferenceDataSource(_referencedDataSourceStub, _readOnlyReferencePropertyStub);

            var controlMock = MockRepository.GenerateMock <IBusinessObjectBoundEditableControl>();

            controlMock.Stub(stub => stub.HasValidBinding).Return(true);
            referenceDataSource.Register(controlMock);

            controlMock.Expect(mock => mock.SaveValue(false)).Return(true);

            var result = referenceDataSource.SaveValue(false);

            Assert.That(result, Is.True);
            controlMock.VerifyAllExpectations();
        }
Пример #28
0
        public void IsDefaultValue_RequiresAllBoundControlsEmpty_ContainsOnlyEmtpyControls_AndReturnsTrue()
        {
            var referencedObject = MockRepository.GenerateStub <IBusinessObject> ();

            var firstPropertyStub  = MockRepository.GenerateStub <IBusinessObjectProperty>();
            var secondPropertyStub = MockRepository.GenerateStub <IBusinessObjectProperty> ();

            _referencePropertyStub.Stub(stub => stub.SupportsDefaultValue).Return(true);
            _referencePropertyStub
            .Stub(
                stub =>
                stub.IsDefaultValue(_referencedDataSourceStub.BusinessObject, referencedObject, new[] { firstPropertyStub, secondPropertyStub }))
            .Return(true);
            _referencePropertyStub.Stub(stub => stub.SupportsDelete).Return(true);

            var referenceDataSource = new TestableBusinessObjectReferenceDataSource(_referencedDataSourceStub, _referencePropertyStub);

            referenceDataSource.BusinessObject = referencedObject;

            var firstControlStub = MockRepository.GenerateStub <IBusinessObjectBoundControl> ();

            firstControlStub.Stub(stub => stub.HasValidBinding).Return(true);
            firstControlStub.Stub(stub => stub.HasValue).Return(false);
            firstControlStub.Property = firstPropertyStub;
            referenceDataSource.Register(firstControlStub);

            var secondControlStub = MockRepository.GenerateStub <IBusinessObjectBoundControl> ();

            secondControlStub.Stub(stub => stub.HasValidBinding).Return(true);
            secondControlStub.Stub(stub => stub.HasValue).Return(false);
            secondControlStub.Property = secondPropertyStub;
            referenceDataSource.Register(secondControlStub);

            var thirdControlStub = MockRepository.GenerateStub <IBusinessObjectBoundControl> ();

            thirdControlStub.Stub(stub => stub.HasValidBinding).Return(true);
            thirdControlStub.Stub(stub => stub.HasValue).Return(false);
            thirdControlStub.Property = firstPropertyStub;
            referenceDataSource.Register(thirdControlStub);

            var result = referenceDataSource.SaveValue(false);

            Assert.That(result, Is.True);
            _referencePropertyStub.AssertWasCalled(stub => stub.Delete(_referencedDataSourceStub.BusinessObject, referencedObject));
            Assert.That(referenceDataSource.BusinessObject, Is.Null);
            Assert.That(referenceDataSource.HasBusinessObjectChanged, Is.False);
        }
Пример #29
0
        public void PropertyIsReadWrite_IsDefaultValue_ClearsBusinessObject_AndReturnsTrue()
        {
            var referencedObject = MockRepository.GenerateStub <IBusinessObject> ();

            _referencePropertyStub.Stub(stub => stub.SupportsDefaultValue).Return(true);
            _referencePropertyStub.Stub(stub => stub.IsDefaultValue(null, null, null)).IgnoreArguments().Return(true);
            _referencePropertyStub.Stub(stub => stub.SupportsDelete).Return(true);

            var referenceDataSource = new TestableBusinessObjectReferenceDataSource(_referencedDataSourceStub, _referencePropertyStub);

            referenceDataSource.BusinessObject = referencedObject;

            var result = referenceDataSource.SaveValue(false);

            Assert.That(result, Is.True);
            Assert.That(referenceDataSource.BusinessObject, Is.Null);
        }
Пример #30
0
        public void PropertyIsReadWrite_SavesValueIntoBoundObject_AndReturnsTrue()
        {
            var expectedValue = MockRepository.GenerateStub <IBusinessObject>();

            _referencedDataSourceStub.BusinessObject.Stub(stub => stub.GetProperty(_referencePropertyStub)).Return(expectedValue);
            _referencePropertyStub.ReferenceClass.Stub(stub => stub.RequiresWriteBack).Return(true);

            var referenceDataSource = new TestableBusinessObjectReferenceDataSource(_referencedDataSourceStub, _referencePropertyStub);

            referenceDataSource.LoadValue(false);
            Assert.That(referenceDataSource.HasBusinessObjectChanged, Is.False);

            var result = referenceDataSource.SaveValue(false);

            Assert.That(result, Is.True);
            _referencedDataSourceStub.BusinessObject.AssertWasCalled(stub => stub.SetProperty(_referencePropertyStub, expectedValue));
        }