public void Calling_Dispose_on_an_already_disposed_cloned_ObjectContext_does_nothing() { var mockClonedContext = new Mock <ObjectContextProxy>(); var mockContext = CreateMockObjectContext(CreateMockConnection(), mockClonedContext); var clonedContext = new ClonedObjectContext(mockContext.Object, "Database=PinkyDinkyDo"); var connectionIsDisposed = false; clonedContext.Connection.Disposed += (_, __) => connectionIsDisposed = true; clonedContext.Dispose(); connectionIsDisposed = false; clonedContext.Dispose(); mockClonedContext.Verify(m => m.Dispose(), Times.Once()); Assert.False(connectionIsDisposed); }
public void Disposing_a_cloned_ObjectContext_disposes_both_the_context_and_the_connection() { var mockClonedContext = new Mock <ObjectContextProxy>(); var mockContext = CreateMockObjectContext(CreateMockConnection(), mockClonedContext); var clonedContext = new ClonedObjectContext(mockContext.Object, "Database=PinkyDinkyDo"); var connectionIsDisposed = false; clonedContext.Connection.Disposed += (_, __) => connectionIsDisposed = true; clonedContext.Dispose(); mockClonedContext.Verify(m => m.Dispose()); Assert.True(connectionIsDisposed); }