import net.pterodactylus.fcp.SSKKeypair;
import net.pterodactylus.fcp.SimpleProgress;
import net.pterodactylus.fcp.UnknownNodeIdentifier;
+import net.pterodactylus.fcp.test.TestFcpConnection;
import org.hamcrest.Matcher;
import org.junit.Rule;
import org.junit.Test;
}
private static FcpConnection createFcpConnection(Function<FcpMessage, BiConsumer<FcpListener, FcpConnection>> messageConsumer) {
- return new FcpConnection() {
- private final List<FcpListener> listeners = new ArrayList<>();
- private volatile boolean closed = false;
-
- @Override
- public void addFcpListener(FcpListener fcpListener) {
- listeners.add(fcpListener);
- }
-
- @Override
- public void removeFcpListener(FcpListener fcpListener) {
- listeners.remove(fcpListener);
- }
-
- @Override
- public boolean isClosed() {
- return closed;
- }
-
- @Override
- public void connect() throws IllegalStateException {
- }
-
- @Override
- public void disconnect() {
- close();
- }
-
- @Override
- public void close() {
- closed = true;
- }
-
- @Override
- public void sendMessage(FcpMessage fcpMessage) {
- BiConsumer<FcpListener, FcpConnection> listenerNotifier = messageConsumer.apply(fcpMessage);
- listeners.forEach(listener -> new Thread(() -> listenerNotifier.accept(listener, this)).start());
- }
- };
+ return new TestFcpConnection(messageConsumer);
}
private static Predicate<FcpMessage> named(String name) {
import net.pterodactylus.fcp.FcpMessage;
import net.pterodactylus.fcp.highlevel.FcpClient;
import net.pterodactylus.fcp.highlevel.FcpException;
+import net.pterodactylus.fcp.test.TestFcpConnection;
import org.junit.Rule;
import org.junit.Test;
import org.junit.rules.Timeout;
import java.io.IOException;
-import java.util.ArrayList;
import java.util.HashMap;
-import java.util.List;
import java.util.Map;
import java.util.function.BiConsumer;
import java.util.function.Function;
@Rule
public final Timeout timeout = Timeout.seconds(5);
- private static class TestFcpConnection implements FcpConnection {
-
- public TestFcpConnection(Function<FcpMessage, BiConsumer<FcpListener, FcpConnection>> messageConsumer) {
- this.messageConsumer = messageConsumer;
- }
-
- @Override
- public void addFcpListener(FcpListener fcpListener) {
- listeners.add(fcpListener);
- }
-
- @Override
- public void removeFcpListener(FcpListener fcpListener) {
- listeners.remove(fcpListener);
- }
-
- @Override
- public boolean isClosed() {
- return closed;
- }
-
- @Override
- public void connect() throws IllegalStateException {
- }
-
- @Override
- public void disconnect() {
- close();
- }
-
- @Override
- public void close() {
- closed = true;
- }
-
- @Override
- public void sendMessage(FcpMessage fcpMessage) {
- sentMessages.add(fcpMessage);
- BiConsumer<FcpListener, FcpConnection> listenerNotifier = messageConsumer.apply(fcpMessage);
- listeners.forEach(listener -> new Thread(() -> listenerNotifier.accept(listener, this)).start());
- }
-
- private final Function<FcpMessage, BiConsumer<FcpListener, FcpConnection>> messageConsumer;
- private final List<FcpListener> listeners = new ArrayList<>();
- private volatile boolean closed = false;
- private final List<FcpMessage> sentMessages = new ArrayList<>();
-
- }
-
}
--- /dev/null
+package net.pterodactylus.fcp.test;
+
+import net.pterodactylus.fcp.FcpConnection;
+import net.pterodactylus.fcp.FcpListener;
+import net.pterodactylus.fcp.FcpMessage;
+
+import java.util.ArrayList;
+import java.util.List;
+import java.util.function.BiConsumer;
+import java.util.function.Function;
+
+public class TestFcpConnection implements FcpConnection {
+
+ public TestFcpConnection(Function<FcpMessage, BiConsumer<FcpListener, FcpConnection>> messageConsumer) {
+ this.messageConsumer = messageConsumer;
+ }
+
+ @Override
+ public void addFcpListener(FcpListener fcpListener) {
+ listeners.add(fcpListener);
+ }
+
+ @Override
+ public void removeFcpListener(FcpListener fcpListener) {
+ listeners.remove(fcpListener);
+ }
+
+ @Override
+ public boolean isClosed() {
+ return closed;
+ }
+
+ @Override
+ public void connect() throws IllegalStateException {
+ }
+
+ @Override
+ public void disconnect() {
+ close();
+ }
+
+ @Override
+ public void close() {
+ closed = true;
+ }
+
+ @Override
+ public void sendMessage(FcpMessage fcpMessage) {
+ sentMessages.add(fcpMessage);
+ BiConsumer<FcpListener, FcpConnection> listenerNotifier = messageConsumer.apply(fcpMessage);
+ listeners.forEach(listener -> new Thread(() -> listenerNotifier.accept(listener, this)).start());
+ }
+
+ private final Function<FcpMessage, BiConsumer<FcpListener, FcpConnection>> messageConsumer;
+ private final List<FcpListener> listeners = new ArrayList<>();
+ private volatile boolean closed = false;
+ public final List<FcpMessage> sentMessages = new ArrayList<>();
+
+}