@Test
  public void testCreatePresplitTableHex() throws Exception {
    final List<byte[]> expectedBounds = new ArrayList<>(17);
    expectedBounds.add(ArrayUtils.EMPTY_BYTE_ARRAY);
    expectedBounds.add(Bytes.toBytes("10000000"));
    expectedBounds.add(Bytes.toBytes("20000000"));
    expectedBounds.add(Bytes.toBytes("30000000"));
    expectedBounds.add(Bytes.toBytes("40000000"));
    expectedBounds.add(Bytes.toBytes("50000000"));
    expectedBounds.add(Bytes.toBytes("60000000"));
    expectedBounds.add(Bytes.toBytes("70000000"));
    expectedBounds.add(Bytes.toBytes("80000000"));
    expectedBounds.add(Bytes.toBytes("90000000"));
    expectedBounds.add(Bytes.toBytes("a0000000"));
    expectedBounds.add(Bytes.toBytes("b0000000"));
    expectedBounds.add(Bytes.toBytes("c0000000"));
    expectedBounds.add(Bytes.toBytes("d0000000"));
    expectedBounds.add(Bytes.toBytes("e0000000"));
    expectedBounds.add(Bytes.toBytes("f0000000"));
    expectedBounds.add(ArrayUtils.EMPTY_BYTE_ARRAY);

    // Do table creation/pre-splitting and verification of region boundaries
    preSplitTableAndVerify(expectedBounds, HexStringSplit.class.getSimpleName(),
      TableName.valueOf(name.getMethodName()));
  }
Test creating a pre-split table using the HexStringSplit algorithm.
hbase-server/src/test/java/org/apache/hadoop/hbase/util/TestRegionSplitter.java