@Test
public void testGetCoordinatesPerDimension() {

  final NumericRange dimension1Range = new NumericRange(20.01, 20.02);
  final NumericRange dimension2Range = new NumericRange(30.51, 30.59);
  final MultiDimensionalNumericData sfcIndexedRange =
      new BasicNumericDataset(new NumericData[] {dimension1Range, dimension2Range});
  final InsertionIds id = compoundIndexStrategy.getInsertionIds(sfcIndexedRange);
  for (final SinglePartitionInsertionIds partitionKey : id.getPartitionKeys()) {
    for (final byte[] sortKey : partitionKey.getSortKeys()) {
      final MultiDimensionalCoordinates coords =
          compoundIndexStrategy.getCoordinatesPerDimension(
              partitionKey.getPartitionKey(),
              sortKey);
      assertTrue(coords.getCoordinate(0).getCoordinate() > 0);
      assertTrue(coords.getCoordinate(1).getCoordinate() > 0);
    }
  }
  final Iterator<SinglePartitionInsertionIds> it = id.getPartitionKeys().iterator();
  assertTrue(it.hasNext());
  final SinglePartitionInsertionIds partitionId = it.next();
  assertTrue(!it.hasNext());
  for (final byte[] sortKey : partitionId.getSortKeys()) {
    final MultiDimensionalNumericData nd =
        compoundIndexStrategy.getRangeForId(partitionId.getPartitionKey(), sortKey);
    assertEquals(20.02, nd.getMaxValuesPerDimension()[0], 0.01);
    assertEquals(30.59, nd.getMaxValuesPerDimension()[1], 0.1);
    assertEquals(20.01, nd.getMinValuesPerDimension()[0], 0.01);
    assertEquals(30.51, nd.getMinValuesPerDimension()[1], 0.1);
  }
}