diff --git a/pom.xml b/pom.xml
index 4bb9d49..f8eba42 100644
--- a/pom.xml
+++ b/pom.xml
@@ -42,6 +42,12 @@
4.11
test
+
+ io.teknek
+ tunit
+ 0.0.0
+ test
+
log4j
log4j
diff --git a/src/test/java/io/teknek/gossip/TenNodeThreeSeedTest.java b/src/test/java/io/teknek/gossip/TenNodeThreeSeedTest.java
index d619b6c..f91f689 100644
--- a/src/test/java/io/teknek/gossip/TenNodeThreeSeedTest.java
+++ b/src/test/java/io/teknek/gossip/TenNodeThreeSeedTest.java
@@ -1,11 +1,15 @@
package io.teknek.gossip;
+import io.teknek.tunit.TUnit;
+
import java.net.UnknownHostException;
import java.util.ArrayList;
import java.util.List;
+import java.util.concurrent.Callable;
+import java.util.concurrent.TimeUnit;
-import junit.framework.Assert;
+import org.junit.Assert;
import org.junit.Test;
import com.google.code.gossip.GossipMember;
@@ -34,8 +38,8 @@ public class TenNodeThreeSeedTest {
for (int i = 1; i < seedNodes+1; ++i) {
startupMembers.add(new RemoteGossipMember("127.0.0." + i, 2000, i + ""));
}
- List clients = new ArrayList<>();
- int clusterMembers = 5;
+ final List clients = new ArrayList<>();
+ final int clusterMembers = 5;
for (int i = 1; i < clusterMembers+1; ++i) {
GossipService gossipService = new GossipService("127.0.0." + i, 2000, i + "",
startupMembers, settings,
@@ -47,12 +51,16 @@ public class TenNodeThreeSeedTest {
});
clients.add(gossipService);
gossipService.start();
- Thread.sleep(1000);
- }
- Thread.sleep(10000);
- for (int i = 0; i < clusterMembers; ++i) {
- Assert.assertEquals(4, clients.get(i).get_gossipManager().getMemberList().size());
}
+ TUnit.assertThat(new Callable (){
+ public Integer call() throws Exception {
+ int total = 0;
+ for (int i = 0; i < clusterMembers; ++i) {
+ total += clients.get(i).get_gossipManager().getMemberList().size();
+ }
+ return total;
+ }}).afterWaitingAtMost(10, TimeUnit.SECONDS).isEqualTo(20);
+
for (int i = 0; i < clusterMembers; ++i) {
clients.get(i).shutdown();
}