### Question:
ShardTableConfigHelper extends AbstractTableConfigHelper { @Override public void configure(TableOperations tops) throws AccumuloException, AccumuloSecurityException, TableNotFoundException { switch (this.tableType) { case SHARD: configureShardTable(tops); break; case GIDX: configureGidxTable(tops); break; case GRIDX: configureGridxTable(tops); break; case DINDX: configureDictionaryTable(tops); break; default: throw new TableNotFoundException(null, tableName, "Table is not a Shard Type Table"); } }  @Override void setup(String tableName, Configuration config, Logger log); @Override void configure(TableOperations tops); static final String SHARD_TABLE_BALANCER_CONFIG; static final String ENABLE_BLOOM_FILTERS; static final String MARKINGS_SETUP_ITERATOR_ENABLED; static final String MARKINGS_SETUP_ITERATOR_CONFIG; static final String LOCALITY_GROUPS; }### Answer:
@Test(expected = NullPointerException.class) public void testConfigureCalledBeforeSetup() throws AccumuloSecurityException, AccumuloException, TableNotFoundException { ShardTableConfigHelperTest.logger.info("ShardTableConfigHelperTest.testConfigureCalledBeforeSetup called."); try { ShardTableConfigHelper uut = new ShardTableConfigHelper(); TableOperations tops = mockUpTableOperations(); uut.configure(tops); Assert.fail("ShardTableConfigHelper.configure failed to throw expected exception."); } finally { ShardTableConfigHelperTest.logger.info("ShardTableConfigHelperTest.testConfigureCalledBeforeSetup completed."); } }