### Question:
TabletLocationNamePartitioner extends Partitioner<BulkIngestKey,Value> implements Configurable, DelegatePartitioner { @Override public synchronized int getPartition(BulkIngestKey key, Value value, int numReduceTasks) { try { return getLocationPartition(key.getKey().getRow(), getShardLocations(key.getTableName().toString()), numReduceTasks); } catch (IOException e) { throw new RuntimeException(e); } }  @Override synchronized int getPartition(BulkIngestKey key, Value value, int numReduceTasks); @Override Configuration getConf(); @Override void setConf(Configuration conf); @Override void configureWithPrefix(String prefix); @Override int getNumPartitions(); @Override void initializeJob(Job job);  }### Answer:
@Test public void testSequentialLocationScheme() throws Exception { Map<String,Path> shardedTableMapFiles = new HashMap<>(); URL file = getClass().getResource("/datawave/ingest/mapreduce/partition/_shards.lst"); shardedTableMapFiles.put("shard", new Path(file.toURI().toString())); ShardedTableMapFile.addToConf(conf, shardedTableMapFiles); file = getClass().getResource("/datawave/ingest/mapreduce/partition/shards.list"); BufferedReader reader = new BufferedReader(new InputStreamReader(file.openStream())); String line = reader.readLine(); int[] partitions = new int[912]; while (line != null) { String shardId = line.trim(); Key key = new Key(shardId); Value value = new Value(); int partition = partitioner.getPartition(new BulkIngestKey(new Text("shard"), key), value, 912); partitions[partition]++; line = reader.readLine(); } boolean errored = false; int[] distribution = new int[8]; int[] expected = new int[] {77, 207, 266, 196, 112, 42, 9, 3}; for (int i = 0; i < 912; i++) { distribution[partitions[i]]++; } for (int i = 0; i < 8; i++) { try { Assert.assertEquals("Unexpected distribution: ", expected[i], distribution[i]); } catch (Throwable e) { System.err.println(e.getMessage()); errored = true; } } if (errored) { Assert.fail("Failed to get expected distribution. See console for unexpected entries"); } }