What problem do you see in testing if the default factory is a singleton? Instead of returning HTableFactory.HTableFactoryImpl(), just have a static final defined in HTableFactoryProvider or HTableFactory.