@Test
public final void testOnAddAspect()
{

    //   add           = add
    //   del add       = ---
    //   add del add   = add
    //   add add       = add
    
    nodeChange.onAddAspect(content1, ContentModel.ASPECT_ARCHIVED);
    nodeChange.onRemoveAspect(content1, ContentModel.ASPECT_COPIEDFROM);
    nodeChange.onAddAspect(content1, ContentModel.ASPECT_COPIEDFROM);
    nodeChange.onAddAspect(content1, ContentModel.ASPECT_EMAILED);
    nodeChange.onRemoveAspect(content1, ContentModel.ASPECT_EMAILED);
    nodeChange.onAddAspect(content1, ContentModel.ASPECT_EMAILED);
    nodeChange.onAddAspect(content1, ContentModel.ASPECT_GEOGRAPHIC);
    nodeChange.onAddAspect(content1, ContentModel.ASPECT_GEOGRAPHIC);
    Map<String, Serializable> auditMap = nodeChange.getAuditData(false);

    assertStandardData(auditMap, "addNodeAspect", "addNodeAspect deleteNodeAspect");
    assertEquals(3, ((Set<?>)auditMap.get("aspects/add")).size());
    assertTrue("Grouped cm:archived aspect missing", ((Set<?>)auditMap.get("aspects/add")).contains(ContentModel.ASPECT_ARCHIVED));
    assertTrue("Grouped cm:emailed aspect missing", ((Set<?>)auditMap.get("aspects/add")).contains(ContentModel.ASPECT_EMAILED));
    assertTrue("Grouped cm:geographic aspect missing", ((Set<?>)auditMap.get("aspects/add")).contains(ContentModel.ASPECT_GEOGRAPHIC));
    assertTrue("Individual cm:archived aspect missing", auditMap.containsKey("aspects/add/cm:archived"));
    assertTrue("Individual cm:emailed aspect missing", auditMap.containsKey("aspects/add/cm:emailed"));
    assertTrue("Individual cm:geographic aspect missing", auditMap.containsKey("aspects/add/cm:geographic"));
}