@Test
public void testDocumentTwoWorkAreaFunction()
{

    Mockito.when(this.functionMock.getWorkAreaOne()).thenReturn(workAreaOne);
    Mockito.when(this.functionMock.isTwoWorkAreas()).thenReturn(true);
    Mockito.when(this.functionMock.getWorkAreaTwo()).thenReturn(workAreaTwo);
    FunctionDocumentation result = this.documentationConfig.document(functionDocumentation, functionMock);
    assertSame(functionDocumentation, result);
    assertEquals(4, result.getFields().size());
    // grouped field should have been skipped
    assertFalse(result.getFields().contains(new MissingDocumentation(this.groupedField.getId())));
    assertTrue(result.getFields().remove(iDocOne));
    assertTrue(result.getFields().remove(iDocTwo));
    assertTrue(result.getFields().remove(iDocFour));
    assertEquals(1, result.getFields().size());
    assertTrue(result.getFields().first() instanceof MissingDocumentation);
}