@Test
    public void testToStringServerMessageQueueWithMessages() {
        LOGGER.log(Level.INFO, "----- STARTING TEST testToStringServerMessageQueueWithMessages -----");
        try {
            server1.setUseMessageQueues(true);
        } catch (TimeoutException e) {
            exception = true;
        }
        try {
            server2.setUseMessageQueues(true);
        } catch (TimeoutException e) {
            exception = true;
        }
        String hash = "";
        try {
            server1.startThread();
        } catch (IOException | ServerSocketCloseException | FeatureNotUsedException e) {
            exception = true;
        }
        waitListenThreadStart(server1);
        try {
            hash = server2.addSocket("127.0.0.1", port);
        } catch (IOException | TimeoutException e) {
            exception = true;
        }
        waitSocketThreadAddNotEmpty(server2);
        waitSocketThreadState(server2, hash, SocketThread.CONFIRMED);
        waitMessageQueueAddNotEmpty(server2);
        server2.getQueueList().get(hash).pauseQueue();
        server2.sendMessage("TEST", hash);
        server2.sendMessage("TEST2", hash);
        server2.sendMessage("TEST3", hash);
        String to_string = server2.toString();
        Assert.assertFalse(exception, "Exception found");
        Assert.assertNotEquals(to_string, null, "Server data not generated into a readable String");
        LOGGER.log(Level.INFO, "Server String details: \n{0}", to_string);
        Assert.assertFalse(exception, "Exception found");
        LOGGER.log(Level.INFO, "----- TEST testToStringServerMessageQueueWithMessages COMPLETED -----");
    }