### Question:
PluginHelpers { public static final void writeDocumentation(final Taggable taggable, final ModelIndex model, final Uml2XsdPluginWriter xsw) { for (final TaggedValue taggedValue : taggable.getTaggedValues()) { final TagDefinition tagDefinition = model.getTagDefinition(taggedValue.getTagDefinition()); if (TagName.DOCUMENTATION.equals(tagDefinition.getName())) { xsw.documentation(); try { xsw.characters(XmlTools.collapseWhitespace(taggedValue.getValue())); } finally { xsw.end(); } } } }  static final void writeDocumentation(final Taggable taggable, final ModelIndex model,
            final Uml2XsdPluginWriter xsw); static final boolean isMongoNavigable(final AssociationEnd associationEnd, final ModelIndex model); static final boolean hasMongoName(final Feature feature, final ModelIndex model); static final String getMongoName(final Feature feature, final ModelIndex model);  }### Answer:
@Test public void testWriteDocumentation() throws Exception { final Taggable mockTaggable = Mockito.mock(Taggable.class); final ModelIndex mockIndex = Mockito.mock(ModelIndex.class); final Uml2XsdPluginWriter mockWriter = Mockito.mock(Uml2XsdPluginWriter.class); final List<TaggedValue> taggedValueList = new ArrayList<TaggedValue>(); final Identifier id = Identifier.fromString("1234"); final String testValue = "test\n\nvalue\n\n\r\t"; taggedValueList.add(new TaggedValue(testValue, id)); final Multiplicity mult = new Multiplicity(new Range(Occurs.ZERO, Occurs.ONE)); final TagDefinition mockTagDef = new TagDefinition(id, TagName.DOCUMENTATION, mult); Mockito.when(mockIndex.getTagDefinition(id)).thenReturn(mockTagDef); Mockito.when(mockTaggable.getTaggedValues()).thenReturn(taggedValueList); PluginHelpers.writeDocumentation(mockTaggable, mockIndex, mockWriter); Mockito.verify(mockWriter).characters("test value"); Mockito.verify(mockWriter).documentation(); Mockito.verify(mockWriter).end(); }