public void testGetAttributes() throws LayerException {
Iterator it = layer.getElements(Filter.INCLUDE, 0, 1);
Assert.assertTrue(it.hasNext());
Object f1 = it.next();
Assert.assertFalse(it.hasNext());
Attribute many = featureModel.getAttribute(f1, "many");
Assert.assertTrue(many instanceof OneToManyAttribute);
Assert.assertNotNull(many.getValue());
Iterator<AssociationValue> it2 = ((OneToManyAttribute) many).getValue().iterator();
Assert.assertTrue(it2.hasNext());
AssociationValue v = it2.next();
Attribute<?> manyInMany = v.getAllAttributes().get("manyInMany");
Assert.assertNotNull(manyInMany);
Assert.assertTrue(manyInMany instanceof OneToManyAttribute);
Attribute<?> oneInMany = v.getAllAttributes().get("oneInMany");
Assert.assertNotNull(oneInMany);
Assert.assertTrue(oneInMany instanceof ManyToOneAttribute);
Attribute one = featureModel.getAttribute(f1, "one");
Assert.assertTrue(one instanceof ManyToOneAttribute);
Assert.assertNotNull(one.getValue());
AssociationValue v2 = ((ManyToOneAttribute) one).getValue();
Attribute<?> oneInOne = v2.getAllAttributes().get("oneInOne");
Assert.assertNotNull(oneInOne);
Assert.assertTrue(oneInOne instanceof ManyToOneAttribute);
Attribute<?> manyInOne = v2.getAllAttributes().get("manyInOne");