/**
* Tests sorting of data by key (ascending).
*/
public void testSortByKeyAscending() {
DefaultKeyedValues data = new DefaultKeyedValues();
data.addValue("C", new Double(1.0));
data.addValue("B", null);
data.addValue("D", new Double(3.0));
data.addValue("A", new Double(2.0));
data.sortByKeys(SortOrder.ASCENDING);
// check key order
assertEquals(data.getKey(0), "A");
assertEquals(data.getKey(1), "B");
assertEquals(data.getKey(2), "C");
assertEquals(data.getKey(3), "D");
// check retrieve value by key
assertEquals(data.getValue("A"), new Double(2.0));
assertEquals(data.getValue("B"), null);
assertEquals(data.getValue("C"), new Double(1.0));
assertEquals(data.getValue("D"), new Double(3.0));
// check retrieve value by index
assertEquals(data.getValue(0), new Double(2.0));
assertEquals(data.getValue(1), null);
assertEquals(data.getValue(2), new Double(1.0));
assertEquals(data.getValue(3), new Double(3.0));
}