summaryrefslogtreecommitdiff
path: root/same/src/test/java/com/orbekk/util/CyclicCountDownLatchTest.java
diff options
context:
space:
mode:
Diffstat (limited to 'same/src/test/java/com/orbekk/util/CyclicCountDownLatchTest.java')
-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));
+ }
+}