示例#1
0
        public void Dispose()
        {
            lock (this)
            {
                if (_observableDbOperation != null)
                {
                    _observableDbOperation.Dispose();
                }

                _disposed = true;
                _traceSource.TraceInformation("OracleReceiver disposed");
            }
        }
示例#2
0
        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));
        }