public void Serialization() { var innerEndPoint = new SerializableVirtualObjectEndPointFake(); var listener = new SerializableVirtualEndPointStateUpdateListenerFake(); var instance = new StateUpdateRaisingVirtualObjectEndPointDecorator(innerEndPoint, listener); var deserializedInstance = FlattenedSerializer.SerializeAndDeserialize(instance); Assert.That(deserializedInstance.InnerEndPoint, Is.Not.Null); Assert.That(deserializedInstance.Listener, Is.Not.Null); }
public override void SetUp() { base.SetUp(); _endPointID = RelationEndPointID.Create(DomainObjectIDs.Order1, typeof(Order), "OrderTicket"); _listenerMock = MockRepository.GenerateStrictMock <IVirtualEndPointStateUpdateListener> (); _innerEndPointMock = MockRepository.GenerateStrictMock <IVirtualObjectEndPoint> (); _innerEndPointMock.Stub(stub => stub.HasChanged).Return(false); _innerEndPointMock.Stub(stub => stub.ID).Return(_endPointID); _decorator = new StateUpdateRaisingVirtualObjectEndPointDecorator(_innerEndPointMock, _listenerMock); _decoratorTestHelper = new DecoratorTestHelper <IVirtualObjectEndPoint> (_decorator, _innerEndPointMock); }
public void SetDataFromSubTransaction_UnwrapsSourceEndPoint() { var sourceInnerEndPoint = MockRepository.GenerateStub <IVirtualObjectEndPoint> (); var sourceEndPoint = new StateUpdateRaisingVirtualObjectEndPointDecorator(sourceInnerEndPoint, _listenerMock); _listenerMock.Expect(mock => mock.VirtualEndPointStateUpdated(_endPointID, false)); _listenerMock.Replay(); _innerEndPointMock.BackToRecord(); _innerEndPointMock.Stub(stub => stub.ID).Return(_endPointID); _innerEndPointMock.Stub(stub => stub.HasChanged).Return(true).Repeat.Once(); _innerEndPointMock.Stub(stub => stub.HasChanged).Return(false); _innerEndPointMock .Expect(ep => ep.SetDataFromSubTransaction(sourceInnerEndPoint)) .WhenCalled(mi => _listenerMock.AssertWasNotCalled(mock => mock.VirtualEndPointStateUpdated(Arg <RelationEndPointID> .Is.Anything, Arg <bool?> .Is.Anything))); _innerEndPointMock.Replay(); _decorator.SetDataFromSubTransaction(sourceEndPoint); _innerEndPointMock.VerifyAllExpectations(); _listenerMock.AssertWasCalled(mock => mock.VirtualEndPointStateUpdated(_endPointID, false)); }
public void SetDataFromSubTransaction_WithException() { var sourceInnerEndPoint = MockRepository.GenerateStub <IVirtualObjectEndPoint> (); var sourceEndPoint = new StateUpdateRaisingVirtualObjectEndPointDecorator(sourceInnerEndPoint, _listenerMock); _listenerMock.Expect(mock => mock.VirtualEndPointStateUpdated(_endPointID, false)); _listenerMock.Replay(); var exception = new Exception(); _innerEndPointMock.BackToRecord(); _innerEndPointMock.Stub(stub => stub.ID).Return(_endPointID); _innerEndPointMock.Stub(stub => stub.HasChanged).Return(true).Repeat.Once(); _innerEndPointMock.Stub(stub => stub.HasChanged).Return(false); _innerEndPointMock .Expect(ep => ep.SetDataFromSubTransaction(sourceInnerEndPoint)) .Throw(exception); _innerEndPointMock.Replay(); Assert.That(() => _decorator.SetDataFromSubTransaction(sourceEndPoint), Throws.Exception.SameAs(exception)); _innerEndPointMock.VerifyAllExpectations(); _listenerMock.VerifyAllExpectations(); }