@Test
public void testSortKeys()
{

    Map<String, Object> valueMap = new HashMap<>();
    valueMap.put( "b1-a1-c1", 1d );
    valueMap.put( "a2-c2-b2", 2d );
    valueMap.put( "c3-b3-a3", 3d );
    valueMap.put( "a4-b4-c4", 4d );
    Map<String, Object> sortedMap = DimensionalObjectUtils.getSortedKeysMap( valueMap );
    assertEquals( 4, sortedMap.size() );
    assertTrue( sortedMap.containsKey( "a1-b1-c1" ) );
    assertTrue( sortedMap.containsKey( "a2-b2-c2" ) );
    assertTrue( sortedMap.containsKey( "a3-b3-c3" ) );
    assertTrue( sortedMap.containsKey( "a4-b4-c4" ) );
    assertEquals( 1d, sortedMap.get( "a1-b1-c1" ) );
    assertEquals( 2d, sortedMap.get( "a2-b2-c2" ) );
    assertEquals( 3d, sortedMap.get( "a3-b3-c3" ) );
    assertEquals( 4d, sortedMap.get( "a4-b4-c4" ) );
    valueMap = new HashMap<>();
    valueMap.put( "b1", 1d );
    valueMap.put( "b2", 2d );
    sortedMap = DimensionalObjectUtils.getSortedKeysMap( valueMap );
    assertEquals( 2, sortedMap.size() );
    assertTrue( sortedMap.containsKey( "b1" ) );
    assertTrue( sortedMap.containsKey( "b2" ) );
    assertEquals( 1d, sortedMap.get( "b1" ) );
    assertEquals( 2d, sortedMap.get( "b2" ) );
    valueMap = new HashMap<>();
    valueMap.put( null, 1d );
    sortedMap = DimensionalObjectUtils.getSortedKeysMap( valueMap );
    assertEquals( 0, sortedMap.size() );
}