}
}
@Test
public void testOrdering() throws Exception {
final ResourceCollection collection = rcm.createCollection(resResolver.getResource("/"), "test1");
String[] resPaths = {"/res1", "/res2"};
final Resource resource = resResolver.create(resResolver.getResource("/"), resPaths[0].substring(1),
Collections.singletonMap(ResourceResolver.PROPERTY_RESOURCE_TYPE, (Object)"type"));
collection.add(resource, null);
final Resource resource2 = resResolver.create(resResolver.getResource("/"), resPaths[1].substring(1),
Collections.singletonMap(ResourceResolver.PROPERTY_RESOURCE_TYPE, (Object)"type"));
collection.add(resource2, null);
Assert.assertEquals(true, collection.contains(resource2));
Assert.assertNotNull(resResolver.getResource("/test1"));
Assert.assertEquals(ResourceCollection.RESOURCE_TYPE, resResolver.getResource("/test1").getResourceType());
Iterator<Resource> resources = collection.getResources();
int numOfRes = 0;
while (resources.hasNext()) {
Resource entry = resources.next();
Assert.assertEquals(resPaths[numOfRes], entry.getPath());
numOfRes ++;
}
try {
collection.orderBefore(resource, resource);
Assert.fail("should have thrown IllegalArgument");
} catch (IllegalArgumentException e) {
}
//change the order
collection.orderBefore(resource2, resource);
resources = collection.getResources();
numOfRes = 2;
while (resources.hasNext()) {
numOfRes --;
Resource entry = resources.next();