### Question:
WebsocketProtocolServer implements ProtocolServer { @Override public CompletableFuture<Void> start(Servient servient) { if (serverChannel != null) { return completedFuture(null); } return runAsync(() -> serverChannel = serverBootstrap.bind(bindPort).syncUninterruptibly().channel()); } WebsocketProtocolServer(Config config);   WebsocketProtocolServer(ServerBootstrap serverBootstrap,
                            EventLoopGroup serverBossGroup,
                            EventLoopGroup serverWorkerGroup,
                            Map<String, ExposedThing> things,
                            List<String> addresses,
                            int bindPort,
                            Channel serverChannel); @Override CompletableFuture<Void> start(Servient servient); @Override CompletableFuture<Void> stop(); @Override CompletableFuture<Void> expose(ExposedThing thing); @Override CompletableFuture<Void> destroy(ExposedThing thing);  }### Answer:
@Test public void startShouldBindToCorrectPort() { WebsocketProtocolServer server = new WebsocketProtocolServer(serverBootstrap, serverBossGroup, serverWorkerGroup, things, addresses, bindPort, null); server.start(servient); verify(serverBootstrap, timeout(1 * 1000L)).bind(80); }