//LABEL
{
List<LabelType> it = vcard.getLables();
assertEquals(2, it.size());
LabelType f = it.get(0);
assertEquals("Cresent moon drive\r\nAlbaney, New York 12345", f.getLabel());
List<LabelParamType> types = f.getParams();
assertEquals(2, types.size());
assertTrue(types.contains(LabelParamType.WORK));
assertTrue(types.contains(LabelParamType.PREF));
f = it.get(1);
assertEquals("Silicon Alley 5,\r\nNew York, New York 12345", f.getLabel());
types = f.getParams();
assertEquals(1, types.size());
assertTrue(types.contains(LabelParamType.HOME));
}
//URL
{
List<UrlType> it = vcard.getUrls();
assertEquals(1, it.size());
UrlType f = it.get(0);
assertEquals("http://www.ibm.com", f.getRawUrl());
List<UrlParamType> types = f.getParams();
assertEquals(1, types.size());
assertTrue(types.contains(UrlParamType.WORK));
}
//ROLE
{
RoleType f = vcard.getRole();
assertEquals("Counting Money", f.getRole());
}
//BDAY
{
BDayType f = vcard.getBDay();
assertEquals(1980, f.getBirthday().get(Calendar.YEAR));
assertEquals(Calendar.MARCH, f.getBirthday().get(Calendar.MONTH));
assertEquals(22, f.getBirthday().get(Calendar.DAY_OF_MONTH));
}
//EMAIL
{
List<EmailType> it = vcard.getEmails();
assertEquals(1, it.size());
EmailType f = it.get(0);
assertEquals("john.doe@ibm.cm", f.getEmail());
List<EmailParamType> types = f.getParams();
assertEquals(2, types.size());
assertTrue(types.contains(EmailParamType.PREF));
assertTrue(types.contains(EmailParamType.INTERNET));
}
//PHOTO
{
List<PhotoType> it = vcard.getPhotos();
assertEquals(1, it.size());
PhotoType f = it.get(0);
assertEquals(EncodingType.BINARY, f.getEncodingType());
assertEquals(ImageMediaType.JPEG, f.getImageMediaType());
assertEquals(860, f.getPhoto().length);
}
//REV
{
RevType f = vcard.getRev();
Calendar c = Calendar.getInstance(TimeZone.getTimeZone("UTC"));
c.clear();
c.set(Calendar.YEAR, 2012);
c.set(Calendar.MONTH, Calendar.MARCH);
c.set(Calendar.DAY_OF_MONTH, 5);
c.set(Calendar.HOUR_OF_DAY, 13);
c.set(Calendar.MINUTE, 19);
c.set(Calendar.SECOND, 33);
Calendar actual = f.getRevision();
assertEquals(c.getTime(), actual.getTime());
}
//custom types
{
List<ExtendedType> it = vcard.getExtendedTypes();
assertEquals(6, it.size());
ExtendedType f = it.get(0);
assertEquals("X-MS-OL-DEFAULT-POSTAL-ADDRESS", f.getExtendedName());
assertEquals("2", f.getExtendedValue());
f = it.get(1);
assertEquals("X-MS-ANNIVERSARY", f.getExtendedName());
assertEquals("20110113", f.getExtendedValue());
f = it.get(2);
assertEquals("X-MS-IMADDRESS", f.getExtendedName());
assertEquals("johny5@aol.com", f.getExtendedValue());
f = it.get(3);
assertEquals("X-MS-OL-DESIGN", f.getExtendedName());
assertEquals("<card xmlns=\"http://schemas.microsoft.com/office/outlook/12/electronicbusinesscards\" ver=\"1.0\" layout=\"left\" bgcolor=\"ffffff\"><img xmlns=\"\" align=\"tleft\" area=\"32\" use=\"photo\"/><fld xmlns=\"\" prop=\"name\" align=\"left\" dir=\"ltr\" style=\"b\" color=\"000000\" size=\"10\"/><fld xmlns=\"\" prop=\"org\" align=\"left\" dir=\"ltr\" color=\"000000\" size=\"8\"/><fld xmlns=\"\" prop=\"title\" align=\"left\" dir=\"ltr\" color=\"000000\" size=\"8\"/><fld xmlns=\"\" prop=\"dept\" align=\"left\" dir=\"ltr\" color=\"000000\" size=\"8\"/><fld xmlns=\"\" prop=\"telwork\" align=\"left\" dir=\"ltr\" color=\"000000\" size=\"8\"><label align=\"right\" color=\"626262\">Work</label></fld><fld xmlns=\"\" prop=\"telhome\" align=\"left\" dir=\"ltr\" color=\"000000\" size=\"8\"><label align=\"right\" color=\"626262\">Home</label></fld><fld xmlns=\"\" prop=\"email\" align=\"left\" dir=\"ltr\" color=\"000000\" size=\"8\"/><fld xmlns=\"\" prop=\"addrwork\" align=\"left\" dir=\"ltr\" color=\"000000\" size=\"8\"/><fld xmlns=\"\" prop=\"addrhome\" align=\"left\" dir=\"ltr\" color=\"000000\" size=\"8\"/><fld xmlns=\"\" prop=\"webwork\" align=\"left\" dir=\"ltr\" color=\"000000\" size=\"8\"/><fld xmlns=\"\" prop=\"blank\" size=\"8\"/><fld xmlns=\"\" prop=\"blank\" size=\"8\"/><fld xmlns=\"\" prop=\"blank\" size=\"8\"/><fld xmlns=\"\" prop=\"blank\" size=\"8\"/><fld xmlns=\"\" prop=\"blank\" size=\"8\"/><fld xmlns=\"\" prop=\"blank\" size=\"8\"/></card>", f.getExtendedValue());
assertEquals(Charset.forName("UTF-8"), f.getCharset());
f = it.get(4);
assertEquals("X-MS-MANAGER", f.getExtendedName());
assertEquals("Big Blue", f.getExtendedValue());
f = it.get(5);
assertEquals("X-MS-ASSISTANT", f.getExtendedName());
assertEquals("Jenny", f.getExtendedValue());
}
VCardImpl vcard2 = (VCardImpl)vcard;
if(vcard2.hasErrors()) {