diff options
Diffstat (limited to 'src/test/java/derms/net/rmulticast/ReliableMulticastTest.java')
| -rw-r--r-- | src/test/java/derms/net/rmulticast/ReliableMulticastTest.java | 41 |
1 files changed, 41 insertions, 0 deletions
diff --git a/src/test/java/derms/net/rmulticast/ReliableMulticastTest.java b/src/test/java/derms/net/rmulticast/ReliableMulticastTest.java new file mode 100644 index 0000000..9d272d5 --- /dev/null +++ b/src/test/java/derms/net/rmulticast/ReliableMulticastTest.java @@ -0,0 +1,41 @@ +package derms.net.rmulticast; + +import derms.net.StringMessage; +import org.junit.jupiter.api.AfterAll; +import org.junit.jupiter.api.BeforeAll; +import org.junit.jupiter.api.Test; +import org.junit.jupiter.api.Timeout; + +import java.io.IOException; +import java.net.InetAddress; +import java.net.InetSocketAddress; +import java.util.concurrent.TimeUnit; + +import static org.junit.jupiter.api.Assertions.assertEquals; + +class ReliableMulticastTest { + static final InetSocketAddress group = new InetSocketAddress("225.1.2.3", 12345); + + static ReliableMulticast<StringMessage> sock; + + @BeforeAll + static void setup() throws IOException { + InetAddress laddr = InetAddress.getLocalHost(); + sock = new ReliableMulticast<StringMessage>(group, laddr); + } + + @AfterAll + static void teardown() throws IOException { + sock.close(); + } + + // A process should receive its own messages that it sent to the group. + @Test + @Timeout(value = 3, unit = TimeUnit.SECONDS) + void loopback() throws IOException, InterruptedException { + StringMessage want = new StringMessage("foo"); + sock.send(want); + StringMessage got = sock.receive(); + assertEquals(want, got); + } +} |