@Test
public void testGetInsertionIds() {

  final List<ByteArray> ids = new ArrayList<>();
  final InsertionIds ids2 = sfcIndexStrategy.getInsertionIds(sfcIndexedRange, 1);
  final List<byte[]> compositeIds = ids2.getCompositeInsertionIds();
  for (int i = 0; i < 3; i++) {
    for (final byte[] id2 : compositeIds) {
      ids.add(new ByteArray(ByteArrayUtils.combineArrays(new byte[] {(byte) i}, id2)));
    }
  }
  final Set<ByteArray> testIds = new HashSet<>(ids);
  final Set<ByteArray> compoundIndexIds =
      compoundIndexStrategy.getInsertionIds(
          sfcIndexedRange,
          8).getCompositeInsertionIds().stream().map(i -> new ByteArray(i)).collect(
              Collectors.toSet());
  Assert.assertTrue(testIds.containsAll(compoundIndexIds));
  final SinglePartitionInsertionIds id2 = ids2.getPartitionKeys().iterator().next();
  final MultiDimensionalCoordinates sfcIndexCoordinatesPerDim =
      sfcIndexStrategy.getCoordinatesPerDimension(
          id2.getPartitionKey(),
          id2.getSortKeys().get(0));
  // the first 2 bytes are the partition keys
  final MultiDimensionalCoordinates coordinatesPerDim =
      compoundIndexStrategy.getCoordinatesPerDimension(
          Arrays.copyOfRange(ids.get(0).getBytes(), 0, 2),
          Arrays.copyOfRange(ids.get(0).getBytes(), 2, ids.get(0).getBytes().length));
  Assert.assertTrue(sfcIndexCoordinatesPerDim.equals(coordinatesPerDim));
}