@Test
public void testApplicableFunctions()
{

    List<String> ids = new ArrayList<String>();
    ids.add(Function.F1A);
    ids.add(Function.F3);
    ids.add(Function.F2);
    ids.add(Function.FD);
    ids.add(Function.FDG);
    ids.add(Function.FDN);
    ids.add(Function.F1B);
    ids.add(Function.FBN);
    ids.add("bogus");
    ids.add(Function.FBL);
    ItemDocumentation itemDocumentation = new ItemDocumentation();
    assertTrue(documentation.applicableFunctions(itemDocumentation).isEmpty());
    itemDocumentation.setFunctionNames(ids);
    List<String> result = documentation.applicableFunctions(itemDocumentation);
    assertEquals(Documentation.BLOCKFACE_FUNCTION, result.get(0));
    assertEquals(Documentation.INTERSECTION_FUNCTION, result.get(1));
    assertEquals(Documentation.ADDRESS_AND_PLACE_FUNCTIONS, result.get(2));
    assertEquals(Documentation.BIN_FUNCTION, result.get(3));
    assertEquals(Documentation.BBL_FUNCTION, result.get(4));
    assertEquals(5, result.size());
}