public void Dispose() { lock (this) { if (_observableDbOperation != null) { _observableDbOperation.Dispose(); } _disposed = true; _traceSource.TraceInformation("OracleReceiver disposed"); } }
public void Receiver_Dispose_Success() { IObservableDbOperationFactory FakeiDbOperationFactory = A.Fake <IObservableDbOperationFactory>(); var fakeIdbProviderFactoryOperation = A.Fake <IDbProviderFactory>(); var fakeIDataParameter = A.Fake <IDataParameter>(); A.CallTo(() => fakeIDataParameter.Value).Returns((long)2); var fakeCallsTo = A.CallTo(() => fakeIdbProviderFactoryOperation.CreateParameter()).Returns(fakeIDataParameter); IOracleReceiver oracleReceiver = new OracleReceiver(string.Empty, true, new TraceSource("ss"), fakeIdbProviderFactoryOperation, A.Fake <IDbOperationFactory>(), FakeiDbOperationFactory); IObservableDbOperation fakDbOperation = A.Fake <IObservableDbOperation>(); var fake = A.CallTo(() => FakeiDbOperationFactory.ObservableDbOperation(string.Empty, string.Empty, true, new TraceSource("ss"), A.Fake <IDbProviderFactory>())).WithAnyArguments().Returns(fakDbOperation); var fakeIObservableDbOperationDispose = A.CallTo(() => fakDbOperation.Dispose()); oracleReceiver.GetLastPayloadId(); oracleReceiver.StartReceivingUpdatesFromDb(); Thread.Sleep(100); oracleReceiver.Dispose(); fakeIObservableDbOperationDispose.MustHaveHappened((Repeated.Exactly.Once)); }