summaryrefslogtreecommitdiff
path: root/same/src/test
diff options
context:
space:
mode:
authorKjetil Ørbekk <kjetil.orbekk@gmail.com>2012-05-02 12:52:21 +0200
committerKjetil Ørbekk <kjetil.orbekk@gmail.com>2012-05-02 12:52:21 +0200
commit15f0b88446699bdeaffaf20c42bb31950b50aacc (patch)
treee5eeb9fe084cef09db84b27c1fda8da27ab0d0d6 /same/src/test
parenta9a93033637ea3e5ce00283213422d464b09a183 (diff)
Add CyclicCountDownLatch.
(You may not want to use this.)
Diffstat (limited to 'same/src/test')
-rw-r--r--same/src/test/java/com/orbekk/util/CyclicCountDownLatchTest.java35
1 files changed, 35 insertions, 0 deletions
diff --git a/same/src/test/java/com/orbekk/util/CyclicCountDownLatchTest.java b/same/src/test/java/com/orbekk/util/CyclicCountDownLatchTest.java
new file mode 100644
index 0000000..769b7e5
--- /dev/null
+++ b/same/src/test/java/com/orbekk/util/CyclicCountDownLatchTest.java
@@ -0,0 +1,35 @@
+package com.orbekk.util;
+
+import static org.junit.Assert.assertThat;
+import static org.hamcrest.Matchers.*;
+
+import org.junit.Test;
+
+public class CyclicCountDownLatchTest {
+ CyclicCountDownLatch latch = new CyclicCountDownLatch(1);
+
+ @Test public void initialCount() {
+ assertThat(latch.getCount(), is(1));
+ }
+
+ @Test public void releasesCorrectly() throws Exception {
+ latch.countDown();
+ assertThat(latch.getCount(), is(0));
+ latch.await();
+ }
+
+ @Test public void testCycle() throws Exception {
+ latch.countDown();
+ latch.await();
+ assertThat(latch.getCount(), is(1));
+ latch.countDown();
+ latch.await();
+ }
+
+ @Test public void notAccumulative() throws Exception {
+ latch.countDown();
+ latch.countDown();
+ latch.await();
+ assertThat(latch.getCount(), is(1));
+ }
+}