@Test
public void testConstructor() {

    URL url = URL.valueOf("default://")
            .addParameter(THREAD_POOL_PREFIX_PARAM_NAME, "test")
            .addParameter(THREAD_POOL_SIZE_PARAM_NAME, 10)
            .addParameter(THREAD_POOL_KEEP_ALIVE_TIME_PARAM_NAME, 100);
    AbstractDynamicConfiguration configuration = new AbstractDynamicConfiguration(url) {
        @Override
        protected String doGetConfig(String key, String group) throws Exception {
            return null;
        }
        @Override
        protected void doClose() throws Exception {
        }
        @Override
        protected boolean doRemoveConfig(String key, String group) throws Exception {
            return false;
        }
    };
    ThreadPoolExecutor threadPoolExecutor = configuration.getWorkersThreadPool();
    ThreadFactory threadFactory = threadPoolExecutor.getThreadFactory();
    Thread thread = threadFactory.newThread(() -> {
    });
    assertEquals(10, threadPoolExecutor.getCorePoolSize());
    assertEquals(10, threadPoolExecutor.getMaximumPoolSize());
    assertEquals(100, threadPoolExecutor.getKeepAliveTime(TimeUnit.MILLISECONDS));
    assertEquals("test-thread-1", thread.getName());
}