Tests
BlockingBuffer.get in combination with
BlockingBuffer.add(Object) using multiple read
threads.
Two read threads should block on an empty buffer until one object is added then both threads should complete.
Tests
BlockingBuffer.remove in combination with
BlockingBuffer.add(Object) using multiple read
threads.
Two read threads should block on an empty buffer until one object is added then one thread should complete. The
remaining thread should complete after the addition of a second object.
Tests
BlockingBuffer.remove in combination with
BlockingBuffer.addAll(java.util.Collection) using multiple read threads.
Two read threads should block on an empty buffer until a singleton collection is added then one thread should
complete. The remaining thread should complete after the addition of a second singleton.
Tests
BlockingBuffer.remove in combination with
BlockingBuffer.addAll(java.util.Collection) using multiple read threads.
Two read threads should block on an empty buffer until a collection with two distinct objects is added then both
threads should complete. Each thread should have read a different object.