assertEquals(1, sc.getUserDataConstraint().getDescriptions().size());
assertEquals("NONE", sc.getUserDataConstraint().getTransportGuarantee());
List portlets = dd.getPortlets();
assertEquals(1, portlets.size());
PortletDD pd = (PortletDD)portlets.get(0);
assertEquals(1, pd.getDescriptions().size());
assertEquals(2, pd.getDisplayNames().size());
assertEquals(30, pd.getExpirationCache());
assertEquals(1, pd.getInitParams().size());
assertEquals("org.apache.pluto.driver.portlets.AboutPortlet", pd.getPortletClass());
PortletInfoDD pi = pd.getPortletInfo();
assertNotNull(pi);
assertEquals("About Apache Pluto", pi.getTitle());
assertNull(pi.getShortTitle());
assertNull(pi.getKeywords());
assertEquals("AboutPortlet", pd.getPortletName());
PortletPreferencesDD pp = pd.getPortletPreferences();
assertNotNull(pp);
assertNull(pp.getPreferencesValidator());
List prefs = pp.getPortletPreferences();
assertEquals(4, prefs.size());
PortletPreferenceDD pref1 = (PortletPreferenceDD)prefs.get(0);
assertEquals("noValues", pref1.getName());
assertNull(pref1.getValues());
PortletPreferenceDD pref2 = (PortletPreferenceDD)prefs.get(1);
assertEquals("oneEmptyValue", pref2.getName());
assertEquals(Arrays.asList(new String[] {""}), pref2.getValues());
PortletPreferenceDD pref3 = (PortletPreferenceDD)prefs.get(2);
assertEquals("oneValue", pref3.getName());
assertEquals(Arrays.asList(new String[] {"value1"}), pref3.getValues());
PortletPreferenceDD pref4 = (PortletPreferenceDD)prefs.get(3);
assertEquals("fourValues", pref4.getName());
assertEquals(Arrays.asList(new String[] {"value1", "", "value3", ""}), pref4.getValues());
assertNull(pd.getResourceBundle());
assertEquals(0, pd.getSecurityRoleRefs().size());
assertEquals(1, pd.getSupportedLocales().size());
List supports = pd.getSupports();
assertEquals(1, supports.size());
SupportsDD sd = (SupportsDD)supports.get(0);
assertEquals("text/html", sd.getMimeType());
assertEquals(3, sd.getPortletModes().size());