@Test
    public void testSocketThreadSetSocketTimeoutEx() {
        LOGGER.log(Level.INFO, "----- STARTING TEST testSocketThreadSetSocketTimeoutEx -----");
        String client_hash = "";
        boolean exception_expected = false;
        try {
            server1.startThread();
        } catch (IOException | ServerSocketCloseException | FeatureNotUsedException e) {
            exception = true;
        }
        waitListenThreadStart(server1);
        try {
            client_hash = server2.addSocket("127.0.0.1");
        } catch (IOException | TimeoutException e) {
            exception = true;
        }
        waitSocketThreadAddNotEmpty(server2);
        waitSocketThreadState(server2, client_hash, SocketThread.CONFIRMED);
        try {
            server2.getSocketList().get(client_hash).setSocketTimeout(-10);
        } catch (InvalidArgumentException e) {
            exception_expected = true;
        } catch (SocketException e) {
            exception = true;
        }
        Assert.assertFalse(exception, "Unexpected exception found");
        Assert.assertTrue(exception_expected, "Successfully ran setSocketTimeout, expected an exception");
        LOGGER.log(Level.INFO, "----- TEST testSocketThreadSetSocketTimeoutEx COMPLETED -----");
    }