public void CurrentValue_decremented_on_Decrement() { var counterSignal = new CounterSignal(0, 2); counterSignal.Decrement(); Assert.AreEqual(1, counterSignal.CurrentValue); }
public void counter_increment_then_decrement_signal_IsSet_false() { var counterSignal = new CounterSignal(2, 1); counterSignal.Increment(); counterSignal.Decrement(); Assert.IsFalse(counterSignal.IsSet); }
/// <summary> /// Gets and removes the object at the beginning of the queue /// </summary> public T Dequeue(CancellationToken cancellationToken) { T item; do { _counterSignal.Wait(cancellationToken); } while (!_queue.TryDequeue(out item)); _counterSignal.Decrement(); return(item); }