summaryrefslogtreecommitdiffstats
path: root/src/test/java/derms/net/runicast/ReliableUnicastTest.java
blob: 0a66315584af292b53d8649120678cee36fe7a7a (plain) (blame)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
package derms.net.runicast;

import derms.net.StringMessage;
import org.junit.jupiter.api.BeforeAll;
import org.junit.jupiter.api.Test;

import java.io.IOException;
import java.net.InetAddress;
import java.net.InetSocketAddress;
import java.net.UnknownHostException;

import static org.junit.jupiter.api.Assertions.assertEquals;

public class ReliableUnicastTest {
    static final int port = 12345;

    static InetAddress laddr;

    @BeforeAll
    static void setup() throws UnknownHostException {
        laddr = InetAddress.getLocalHost();
    }

    @Test
    void openClose() throws IOException, InterruptedException {
        ReliableUnicastSender<StringMessage> sender = new ReliableUnicastSender<StringMessage>(new InetSocketAddress(laddr, port));
        ReliableUnicastReceiver<StringMessage> receiver = new ReliableUnicastReceiver<StringMessage>(new InetSocketAddress(laddr, port));
        sender.close();
        receiver.close();
    }

    @Test
    void sendRecv() throws IOException, InterruptedException {
        ReliableUnicastSender<StringMessage> sender = new ReliableUnicastSender<StringMessage>(new InetSocketAddress(laddr, port));
        ReliableUnicastReceiver<StringMessage> receiver = new ReliableUnicastReceiver<StringMessage>(new InetSocketAddress(laddr, port));

        StringMessage want = new StringMessage("foo");
        sender.send(want);
        StringMessage got = receiver.receive();
        assertEquals(want, got);

        sender.close();
        receiver.close();
    }
}