@Test
    public void testToStringSockClosedSocketThread() {
        LOGGER.log(Level.INFO, "----- STARTING TEST testToStringSockClosedSocketThread -----");
        try {
            server1.startThread();
        } catch (IOException | ServerSocketCloseException | FeatureNotUsedException e) {
            exception = true;
        }
        waitListenThreadStart(server1);
        Sock sock = null;
        try {
            sock = new Sock("127.0.0.1", port);
        } catch (IOException e) {
            exception = true;
        }
        SocketThread new_socket_thread = new SocketThread(sock, server2, "TEST");
        try {
            new_socket_thread.getSocket().close();
        } catch (IOException e) {
            exception = true;
        }
        boolean loop = false;
        Timing new_timer = new Timing();
        while (loop) {
            if ((new_socket_thread.getSocket().getSocket() == null && new_socket_thread.getSocket().getIn() == null && new_socket_thread.getSocket().getOut() == null) || new_timer.getTime() > timeout) {
                loop = false;
            }
        }
        String to_string = null;
        to_string = new_socket_thread.toString();
        Assert.assertFalse(exception, "Exception found");
        Assert.assertNotEquals(to_string, null, "SocketThread data not generated into a readable String with added character");
        LOGGER.log(Level.INFO, "SocketThread String details: \n{0}", to_string);
        LOGGER.log(Level.INFO, "----- TEST testToStringSockClosedSocketThread COMPLETED -----");
    }