newResource.createNewFile();
Collection<ResourceEvent> changeSet = transaction.getChangeSet();
Assert.assertEquals(5, changeSet.size());
Iterator<ResourceEvent> iterator = changeSet.iterator();
{
ResourceEvent event = iterator.next();
// Created the file
Assert.assertThat(event, is(instanceOf(ResourceCreated.class)));
Assert.assertEquals(fileResource, event.getResource());
}
{
ResourceEvent event = iterator.next();
// Modified the Directory
Assert.assertThat(event, is(instanceOf(ResourceModified.class)));
Assert.assertThat(event.getResource(), is(instanceOf(DirectoryResource.class)));
}
{
ResourceEvent event = iterator.next();
// Modified the Directory
Assert.assertThat(event, is(instanceOf(ResourceModified.class)));
Assert.assertEquals(fileResource, event.getResource());
}
{
ResourceEvent event = iterator.next();
// Modified the File resource
Assert.assertThat(event, is(instanceOf(ResourceDeleted.class)));
Assert.assertEquals(anotherResource, event.getResource());
}
{
ResourceEvent event = iterator.next();
// Modified the File resource
Assert.assertThat(event, is(instanceOf(ResourceCreated.class)));
Assert.assertEquals(newResource, event.getResource());
}
Assert.assertFalse(file.exists());
Assert.assertTrue(fileResource.exists());
transaction.commit();
Assert.assertTrue(fileResource.exists());