MappingSourceNode source = (MappingSourceNode)node;
assertEquals("parentNodeSource", source.getSource()); //$NON-NLS-1$
node = (MappingNode)source.getNodeChildren().get(0);
assertTrue(node instanceof MappingElement);
MappingElement element = (MappingElement)node;
assertEquals("parentNode", element.getName()); //$NON-NLS-1$
assertTrue(element.isRootRecursiveNode());
assertFalse(element.isRecursive());
node = (MappingNode)element.getNodeChildren().get(0);
assertTrue(node instanceof MappingElement);
element = (MappingElement)node;
assertEquals("childNode", element.getName()); //$NON-NLS-1$
List attrs = element.getAttributes();
assertEquals(1, attrs.size());
MappingAttribute attribute = (MappingAttribute)attrs.get(0);
assertEquals("attributename", attribute.getName()); //$NON-NLS-1$
assertEquals("ddd", attribute.getDefaultValue()); //$NON-NLS-1$
assertEquals("fff", attribute.getValue()); //$NON-NLS-1$
node = (MappingNode)element.getNodeChildren().get(0);
assertTrue(node instanceof MappingRecursiveElement);
MappingRecursiveElement recursive = (MappingRecursiveElement)node;
assertEquals("recursivenodename", recursive.getName()); //$NON-NLS-1$
assertEquals(8, recursive.getRecursionLimit());
assertFalse(recursive.isRootRecursiveNode());