    @Test
    public void testSimpleThreadpool() throws Exception {

        int runnableCount = 10;
        SimpleThreadpool threadpool = SimpleThreadpool.getInstance();
        final AtomicInteger count = new AtomicInteger(0);
        Runnable r = new Runnable() {
            @Override
            public void run() {
                count.getAndIncrement();
            }
        };
        for (int i = 0; i < runnableCount; i++) {
            threadpool.execute(r);
        }
        threadpool.stop();
        threadpool.awaitTermination();
        Assert.assertEquals("Runnables executed should be same as runnables sent to threadpool", runnableCount, count.get());
    }