query.setSortBy(new SortBy[] { sort });
SimpleFeatureCollection features = featureSource.getFeatures(query);
assertEquals(3, features.size());
SimpleFeatureIterator iterator = features.features();
SimpleFeature f;
try {
assertTrue(iterator.hasNext());
f = (SimpleFeature) iterator.next();
assertEquals("one", f.getAttribute(aname("stringProperty")));
assertTrue(iterator.hasNext());
f = (SimpleFeature) iterator.next();
assertEquals("two", f.getAttribute(aname("stringProperty")));
assertTrue(iterator.hasNext());
f = (SimpleFeature) iterator.next();
assertEquals("zero", f.getAttribute(aname("stringProperty")));
}
finally {
iterator.close();
}
sort = ff.sort(aname("stringProperty"), SortOrder.DESCENDING);
query.setSortBy(new SortBy[] { sort });
features = featureSource.getFeatures(query);
iterator = features.features();
try {
assertTrue(iterator.hasNext());
f = (SimpleFeature) iterator.next();
assertEquals("zero", f.getAttribute(aname("stringProperty")));
assertTrue(iterator.hasNext());
f = (SimpleFeature) iterator.next();
assertEquals("two", f.getAttribute(aname("stringProperty")));
assertTrue(iterator.hasNext());
f = (SimpleFeature) iterator.next();
assertEquals("one", f.getAttribute(aname("stringProperty")));
}
finally {
iterator.close();
}
}