@Test
public void testIterator() throws Exception {

	Iterator<AttributeProvider> iterator;
	
	AttributeProvider attrs;
	
	iterator = this.reader.iterator();
	
	assertTrue(iterator.hasNext());
	attrs = iterator.next();
	assertNotNull(attrs);
	assertEquals(BDTOPO_VALUE, attrs.getAttribute("SOURCE").getValue()); //$NON-NLS-1$
	assertEquals("Religieux", attrs.getAttributeObject("CATEGORIE").getValue()); //$NON-NLS-1$ //$NON-NLS-2$
	assertEquals(BATIMENT_RELIGIEUX_VALUE, attrs.getAttributeObject("NATURE").getValue()); //$NON-NLS-1$
	assertEquals(15., attrs.getAttributeObject("HAUTEUR").getValue()); //$NON-NLS-1$
	assertTrue(iterator.hasNext());
	attrs = iterator.next();
	assertNotNull(attrs);
	assertEquals(BDTOPO_VALUE, attrs.getAttribute("SOURCE").getValue()); //$NON-NLS-1$
	assertEquals("Religieux", attrs.getAttribute("CATEGORIE").getValue()); //$NON-NLS-1$ //$NON-NLS-2$
	assertEquals(BATIMENT_RELIGIEUX_VALUE, attrs.getAttribute("NATURE").getValue()); //$NON-NLS-1$
	assertEquals(7., attrs.getAttribute("HAUTEUR").getValue()); //$NON-NLS-1$
	assertTrue(iterator.hasNext());
	attrs = iterator.next();
	assertNotNull(attrs);
	assertEquals(BDTOPO_VALUE, attrs.getAttribute("SOURCE").getValue()); //$NON-NLS-1$
	assertEquals("Religieux", attrs.getAttribute("CATEGORIE").getValue()); //$NON-NLS-1$ //$NON-NLS-2$
	assertEquals(BATIMENT_RELIGIEUX_VALUE, attrs.getAttribute("NATURE").getValue()); //$NON-NLS-1$
	assertEquals(11., attrs.getAttribute("HAUTEUR").getValue()); //$NON-NLS-1$
	assertTrue(iterator.hasNext());
	attrs = iterator.next();
	assertNotNull(attrs);
	assertEquals(BDTOPO_VALUE, attrs.getAttribute("SOURCE").getValue()); //$NON-NLS-1$
	assertEquals("Religieux", attrs.getAttribute("CATEGORIE").getValue()); //$NON-NLS-1$ //$NON-NLS-2$
	assertEquals("Eglise", attrs.getAttribute("NATURE").getValue()); //$NON-NLS-1$ //$NON-NLS-2$
	assertEquals(5., attrs.getAttribute("HAUTEUR").getValue()); //$NON-NLS-1$
	assertTrue(iterator.hasNext());
	attrs = iterator.next();
	assertNotNull(attrs);
	assertEquals(BDTOPO_VALUE, attrs.getAttribute("SOURCE").getValue()); //$NON-NLS-1$
	assertEquals("Religieux", attrs.getAttribute("CATEGORIE").getValue()); //$NON-NLS-1$ //$NON-NLS-2$
	assertEquals("Eglise", attrs.getAttribute("NATURE").getValue()); //$NON-NLS-1$ //$NON-NLS-2$
	assertEquals(23., attrs.getAttribute("HAUTEUR").getValue()); //$NON-NLS-1$
	assertTrue(iterator.hasNext());
	attrs = iterator.next();
	assertNotNull(attrs);
	assertEquals(BDTOPO_VALUE, attrs.getAttribute("SOURCE").getValue()); //$NON-NLS-1$
	assertEquals("Religieux", attrs.getAttribute("CATEGORIE").getValue()); //$NON-NLS-1$ //$NON-NLS-2$
	assertEquals("Eglise", attrs.getAttribute("NATURE").getValue()); //$NON-NLS-1$ //$NON-NLS-2$
	assertEquals(6., attrs.getAttribute("HAUTEUR").getValue()); //$NON-NLS-1$
	assertTrue(iterator.hasNext());
	attrs = iterator.next();
	assertNotNull(attrs);
	assertEquals(BDTOPO_VALUE, attrs.getAttribute("SOURCE").getValue()); //$NON-NLS-1$
	assertEquals("Religieux", attrs.getAttribute("CATEGORIE").getValue()); //$NON-NLS-1$ //$NON-NLS-2$
	assertEquals("Eglise", attrs.getAttribute("NATURE").getValue()); //$NON-NLS-1$ //$NON-NLS-2$
	assertEquals(6., attrs.getAttribute("HAUTEUR").getValue()); //$NON-NLS-1$
	assertTrue(iterator.hasNext());
	attrs = iterator.next();
	assertNotNull(attrs);
	assertEquals(BDTOPO_VALUE, attrs.getAttribute("SOURCE").getValue()); //$NON-NLS-1$
	assertEquals("Religieux", attrs.getAttribute("CATEGORIE").getValue()); //$NON-NLS-1$ //$NON-NLS-2$
	assertEquals("Eglise", attrs.getAttribute("NATURE").getValue()); //$NON-NLS-1$ //$NON-NLS-2$
	assertEquals(7., attrs.getAttribute("HAUTEUR").getValue()); //$NON-NLS-1$
	assertTrue(iterator.hasNext());
	attrs = iterator.next();
	assertNotNull(attrs);
	assertEquals(BDTOPO_VALUE, attrs.getAttribute("SOURCE").getValue()); //$NON-NLS-1$
	assertEquals("Religieux", attrs.getAttribute("CATEGORIE").getValue()); //$NON-NLS-1$ //$NON-NLS-2$
	assertEquals("Eglise", attrs.getAttribute("NATURE").getValue()); //$NON-NLS-1$ //$NON-NLS-2$
	assertEquals(5., attrs.getAttribute("HAUTEUR").getValue()); //$NON-NLS-1$
	assertTrue(iterator.hasNext());
	attrs = iterator.next();
	assertNotNull(attrs);
	assertEquals(BDTOPO_VALUE, attrs.getAttribute("SOURCE").getValue()); //$NON-NLS-1$
	assertEquals("Religieux", attrs.getAttribute("CATEGORIE").getValue()); //$NON-NLS-1$ //$NON-NLS-2$
	assertEquals("Eglise", attrs.getAttribute("NATURE").getValue()); //$NON-NLS-1$ //$NON-NLS-2$
	assertEquals(2., attrs.getAttribute("HAUTEUR").getValue()); //$NON-NLS-1$
	assertTrue(iterator.hasNext());
	attrs = iterator.next();
	assertNotNull(attrs);
	assertEquals(BDTOPO_VALUE, attrs.getAttribute("SOURCE").getValue()); //$NON-NLS-1$
	assertEquals("Religieux", attrs.getAttribute("CATEGORIE").getValue()); //$NON-NLS-1$ //$NON-NLS-2$
	assertEquals("Eglise", attrs.getAttribute("NATURE").getValue()); //$NON-NLS-1$ //$NON-NLS-2$
	assertEquals(14., attrs.getAttribute("HAUTEUR").getValue()); //$NON-NLS-1$
	assertTrue(iterator.hasNext());
	attrs = iterator.next();
	assertNotNull(attrs);
	assertEquals(BDTOPO_VALUE, attrs.getAttribute("SOURCE").getValue()); //$NON-NLS-1$
	assertEquals("Religieux", attrs.getAttribute("CATEGORIE").getValue()); //$NON-NLS-1$ //$NON-NLS-2$
	assertEquals("Eglise", attrs.getAttribute("NATURE").getValue()); //$NON-NLS-1$ //$NON-NLS-2$
	assertEquals(27., attrs.getAttribute("HAUTEUR").getValue()); //$NON-NLS-1$
	assertTrue(iterator.hasNext());
	attrs = iterator.next();
	assertNotNull(attrs);
	assertEquals(BDTOPO_VALUE, attrs.getAttribute("SOURCE").getValue()); //$NON-NLS-1$
	assertEquals("Religieux", attrs.getAttribute("CATEGORIE").getValue()); //$NON-NLS-1$ //$NON-NLS-2$
	assertEquals("Eglise", attrs.getAttribute("NATURE").getValue()); //$NON-NLS-1$ //$NON-NLS-2$
	assertEquals(8., attrs.getAttribute("HAUTEUR").getValue()); //$NON-NLS-1$
	assertTrue(iterator.hasNext());
	attrs = iterator.next();
	assertNotNull(attrs);
	assertEquals(BDTOPO_VALUE, attrs.getAttribute("SOURCE").getValue()); //$NON-NLS-1$
	assertEquals("Religieux", attrs.getAttribute("CATEGORIE").getValue()); //$NON-NLS-1$ //$NON-NLS-2$
	assertEquals("Eglise", attrs.getAttribute("NATURE").getValue()); //$NON-NLS-1$ //$NON-NLS-2$
	assertEquals(14., attrs.getAttribute("HAUTEUR").getValue()); //$NON-NLS-1$
	assertTrue(iterator.hasNext());
	attrs = iterator.next();
	assertNotNull(attrs);
	assertEquals(BDTOPO_VALUE, attrs.getAttribute("SOURCE").getValue()); //$NON-NLS-1$
	assertEquals("Religieux", attrs.getAttribute("CATEGORIE").getValue()); //$NON-NLS-1$ //$NON-NLS-2$
	assertEquals("Eglise", attrs.getAttribute("NATURE").getValue()); //$NON-NLS-1$ //$NON-NLS-2$
	assertEquals(11., attrs.getAttribute("HAUTEUR").getValue()); //$NON-NLS-1$
	assertTrue(iterator.hasNext());
	attrs = iterator.next();
	assertNotNull(attrs);
	assertEquals(BDTOPO_VALUE, attrs.getAttribute("SOURCE").getValue()); //$NON-NLS-1$
	assertEquals("Religieux", attrs.getAttribute("CATEGORIE").getValue()); //$NON-NLS-1$ //$NON-NLS-2$
	assertEquals("Eglise", attrs.getAttribute("NATURE").getValue()); //$NON-NLS-1$ //$NON-NLS-2$
	assertEquals(30., attrs.getAttribute("HAUTEUR").getValue()); //$NON-NLS-1$
	assertTrue(iterator.hasNext());
	attrs = iterator.next();
	assertNotNull(attrs);
	assertEquals(BDTOPO_VALUE, attrs.getAttribute("SOURCE").getValue()); //$NON-NLS-1$
	assertEquals("Religieux", attrs.getAttribute("CATEGORIE").getValue()); //$NON-NLS-1$ //$NON-NLS-2$
	assertEquals("Eglise", attrs.getAttribute("NATURE").getValue()); //$NON-NLS-1$ //$NON-NLS-2$
	assertEquals(23., attrs.getAttribute("HAUTEUR").getValue()); //$NON-NLS-1$
	assertTrue(iterator.hasNext());
	attrs = iterator.next();
	assertNotNull(attrs);
	assertEquals(PHOTOGRAMMETRIE_VALUE, attrs.getAttribute("SOURCE").getValue()); //$NON-NLS-1$
	assertEquals("Religieux", attrs.getAttribute("CATEGORIE").getValue()); //$NON-NLS-1$ //$NON-NLS-2$
	assertEquals("Eglise", attrs.getAttribute("NATURE").getValue()); //$NON-NLS-1$ //$NON-NLS-2$
	assertEquals(35., attrs.getAttribute("HAUTEUR").getValue()); //$NON-NLS-1$
	assertTrue(iterator.hasNext());
	attrs = iterator.next();
	assertNotNull(attrs);
	assertEquals(BDTOPO_VALUE, attrs.getAttribute("SOURCE").getValue()); //$NON-NLS-1$
	assertEquals("Religieux", attrs.getAttribute("CATEGORIE").getValue()); //$NON-NLS-1$ //$NON-NLS-2$
	assertEquals("Eglise", attrs.getAttribute("NATURE").getValue()); //$NON-NLS-1$ //$NON-NLS-2$
	assertEquals(18., attrs.getAttribute("HAUTEUR").getValue()); //$NON-NLS-1$
	assertTrue(iterator.hasNext());
	attrs = iterator.next();
	assertNotNull(attrs);
	assertEquals(PHOTOGRAMMETRIE_VALUE, attrs.getAttribute("SOURCE").getValue()); //$NON-NLS-1$
	assertEquals("Religieux", attrs.getAttribute("CATEGORIE").getValue()); //$NON-NLS-1$ //$NON-NLS-2$
	assertEquals("Eglise", attrs.getAttribute("NATURE").getValue()); //$NON-NLS-1$ //$NON-NLS-2$
	assertEquals(15., attrs.getAttribute("HAUTEUR").getValue()); //$NON-NLS-1$
	assertTrue(iterator.hasNext());
	attrs = iterator.next();
	assertNotNull(attrs);
	assertEquals(PHOTOGRAMMETRIE_VALUE, attrs.getAttribute("SOURCE").getValue()); //$NON-NLS-1$
	assertEquals("Religieux", attrs.getAttribute("CATEGORIE").getValue()); //$NON-NLS-1$ //$NON-NLS-2$
	assertEquals("Eglise", attrs.getAttribute("NATURE").getValue()); //$NON-NLS-1$ //$NON-NLS-2$
	assertEquals(11., attrs.getAttribute("HAUTEUR").getValue()); //$NON-NLS-1$
	assertFalse(iterator.hasNext());
}