From: David ‘Bombe’ Roden Date: Tue, 2 Jun 2015 16:53:25 +0000 (+0200) Subject: Fix test to use count down latch, fix whitespace X-Git-Url: https://git.pterodactylus.net/?p=tbgof.git;a=commitdiff_plain;h=36b543817840a0557aac69f7b4303ef6bd663595 Fix test to use count down latch, fix whitespace --- diff --git a/src/test/java/net/pterodactylus/tbgof/core/CoreTest.java b/src/test/java/net/pterodactylus/tbgof/core/CoreTest.java index 8605339..199dc78 100644 --- a/src/test/java/net/pterodactylus/tbgof/core/CoreTest.java +++ b/src/test/java/net/pterodactylus/tbgof/core/CoreTest.java @@ -1,6 +1,7 @@ package net.pterodactylus.tbgof.core; -import java.util.concurrent.atomic.AtomicBoolean; +import java.util.concurrent.CountDownLatch; +import java.util.concurrent.TimeUnit; import com.google.common.util.concurrent.MoreExecutors; import com.google.common.util.concurrent.Service.Listener; @@ -17,36 +18,36 @@ import org.junit.Test; */ public class CoreTest { - private final Core core = new Core(); - private final AtomicBoolean started = new AtomicBoolean(); - private final AtomicBoolean stopped = new AtomicBoolean(); - - @Before - public void setupCoreListener() { - core.addListener(new Listener() { - @Override - public void running() { - started.set(true); - } - - @Override - public void terminated(State from) { - stopped.set(true); - } - }, MoreExecutors.directExecutor()); - } - - @Test - public void coreCanStartUp() { - core.startAsync().awaitRunning(); - MatcherAssert.assertThat(started.get(), Matchers.is(true)); - } - - @Test - public void coreCanShutDown() { - core.startAsync().awaitRunning(); - core.stopAsync().awaitTerminated(); - MatcherAssert.assertThat(stopped.get(), Matchers.is(true)); - } + private final Core core = new Core(); + private final CountDownLatch started = new CountDownLatch(1); + private final CountDownLatch stopped = new CountDownLatch(1); + + @Before + public void setupCoreListener() { + core.addListener(new Listener() { + @Override + public void running() { + started.countDown(); + } + + @Override + public void terminated(State from) { + stopped.countDown(); + } + }, MoreExecutors.directExecutor()); + } + + @Test + public void coreCanStartUp() throws InterruptedException { + core.startAsync().awaitRunning(); + MatcherAssert.assertThat(started.await(1, TimeUnit.SECONDS), Matchers.is(true)); + } + + @Test + public void coreCanShutDown() throws InterruptedException { + core.startAsync().awaitRunning(); + core.stopAsync().awaitTerminated(); + MatcherAssert.assertThat(stopped.await(1, TimeUnit.SECONDS), Matchers.is(true)); + } }