assertEquals("VCard", f.getProfile());
}
//TZ
{
TzType f = vcard.getTz();
assertEquals(1, f.getHourOffset());
assertEquals(0, f.getMinuteOffset());
}
//LABEL
{
//This label does not get parsed because its parameter types
//do not match any of the parameter types of any of the existing
//addresses. In this case the parameter type PARCEL is extra from
//the address.
//
//This is an issue with the way Labels and Addresses are defined in
//the VCard RFC. There are 2 ways to go about it:
//
//1: An ADR may have only 1 LABEL associated to it, the LABEL directly under it
//2: An ADR may have only 1 LABEL associated to it by parameter types. Only
// one ADR and LABEL without zero parameter types may hold an association.
//
// Cardme takes approach 2.
/*
List<LabelType> it = vcard.getLables();
assertEquals(1, it.size());
LabelType f = it.get(0);
assertEquals("John Doe\nNew York, NewYork,\nSouth Crecent Drive,\nBuilding 5, floor 3,\nUSA", f.getLabel());
List<LabelParamType> types = f.getParams();
assertEquals(3, types.size());
assertTrue(types.contains(LabelParamType.HOME));
assertTrue(types.contains(LabelParamType.PARCEL));
assertTrue(types.contains(LabelParamType.PREF));
*/
}
//SORT-STRING
{
SortStringFeature f = vcard.getSortString();
assertEquals("JOHN", f.getSortString());
}
//ROLE
{
RoleFeature f = vcard.getRole();
assertEquals("Counting Money", f.getRole());
}
//SOURCE
{
SourceFeature f = vcard.getSource();
assertEquals("Whatever", f.getSource());
}
//MAILER
{
MailerFeature f = vcard.getMailer();
assertEquals("Mozilla Thunderbird", f.getMailer());
}
//NAME
{
NameType f = vcard.getName();
assertEquals("VCard for John Doe", f.getName());
}
//custom types
{
List<ExtendedType> it = vcard.getExtendedTypes();
assertEquals(4, it.size());
ExtendedType f = it.get(0);
assertEquals("item2", f.getGroup());
assertEquals("X-ABLABEL", f.getExtendedName());
assertEquals("_$!<HomePage>!$_", f.getExtendedValue());
f = it.get(1);
assertEquals("X-ABUID", f.getExtendedName());
assertEquals("0E7602CC-443E-4B82-B4B1-90F62F99A199:ABPerson", f.getExtendedValue());
f = it.get(2);
assertEquals("X-GENERATOR", f.getExtendedName());
assertEquals("Cardme Generator", f.getExtendedValue());
f = it.get(3);
assertEquals("X-LONG-STRING", f.getExtendedName());
assertEquals("1234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890", f.getExtendedValue());
}
VCardImpl vcard2 = (VCardImpl)vcard;
if(vcard2.hasErrors()) {