public void CopyCollectionEventHandlers_DoesNotLoadRelatedObjectContentsInDestinationTransaction() { var mockRepository = new MockRepository(); var listenerMock = mockRepository.StrictMock <IClientTransactionListener> (); var innerTransaction = new TestableClientTransaction(); listenerMock.Stub(stub => stub.TransactionDiscard(innerTransaction)); listenerMock.DataContainerMapRegistering(null, null); LastCall.IgnoreArguments().Repeat.Any(); listenerMock.RelationEndPointMapRegistering(null, null); LastCall.IgnoreArguments().Repeat.Any(); listenerMock.VirtualRelationEndPointStateUpdated(null, null, null); LastCall.IgnoreArguments().Repeat.Any(); mockRepository.ReplayAll(); Order order = DomainObjectIDs.Order1.GetObject <Order> (); order.OrderItems.Added += delegate { }; using (innerTransaction.EnterDiscardingScope()) { // preload order, but not orderItems order.GetHandle().GetObject(); innerTransaction.AddListener(listenerMock); int loadedObjectsBefore = innerTransaction.DataManager.DataContainers.Count; innerTransaction.CopyCollectionEventHandlers(order, TestableClientTransaction); int loadedObjectsAfter = innerTransaction.DataManager.DataContainers.Count; Assert.That(loadedObjectsAfter, Is.EqualTo(loadedObjectsBefore)); } mockRepository.VerifyAll(); }