@Test
    public void testUnblockNotRunning() {
        LOGGER.log(Level.INFO, "----- STARTING TEST testCloseBeforeUnblock -----");
        try {
            server1.startThread();
        } catch (IOException | ServerSocketCloseException | FeatureNotUsedException e) {
            exception = true;
        }
        waitListenThreadStart(server1);
        Sock new_sock = null;
        try {
            new_sock = new Sock("127.0.0.1", port);
        } catch (IOException ex) {
            exception = true;
        }
        SocketThread new_thread = new SocketThread(new_sock, server2, "TEST");
        try {
            new_thread.unblock();
        } catch (IOException e) {
            exception = true;
        }
        boolean loop = true;
        Timing new_timer = new Timing();
        while (loop) {
            if (new_thread.getRun() == SocketThread.CLOSED || new_timer.getTime() > timeout) {
                loop = false;
            }
        }
        Assert.assertFalse(exception, "Exception found");
        Assert.assertEquals(new_thread.getRun(), SocketThread.CLOSED, "SocketThread " + new_thread.getHash() + " state was not set correctly");
        Assert.assertEquals(new_thread.getSocket(), null, "Sock was not closed and set to null");
        if (new_sock != null) {
            try {
                new_sock.close();
            } catch (IOException ex) {
                exception = true;
            }
        }
        Assert.assertFalse(exception, "Exception found");
        LOGGER.log(Level.INFO, "----- TEST testCloseBeforeUnblock COMPLETED -----");
    }