/* * Copyright (c) 2010 Isode Limited. * All rights reserved. * See the COPYING file for more information. */ /* * Copyright (c) 2015 Tarun Gupta. * Licensed under the simplified BSD license. * See Documentation/Licenses/BSD-simplified.txt for more information. */ package com.isode.stroke.serializer.payloadserializers; import static org.junit.Assert.assertEquals; import org.junit.BeforeClass; import org.junit.Test; import com.isode.stroke.elements.VCard; import com.isode.stroke.serializer.payloadserializers.VCardSerializer; import com.isode.stroke.base.DateTime; import com.isode.stroke.jid.JID; import com.isode.stroke.base.ByteArray; public class VCardSerializerTest { @Test public void testSerialize() { VCardSerializer testling = new VCardSerializer(); VCard vcard = new VCard(); vcard.setVersion("2.0"); vcard.setFullName("Alice In Wonderland"); vcard.setPrefix("Mrs"); vcard.setGivenName("Alice"); vcard.setMiddleName("In"); vcard.setFamilyName("Wonderland"); vcard.setSuffix("PhD"); vcard.setNickname("DreamGirl"); vcard.setPhoto(new ByteArray("abcdef")); vcard.setPhotoType("image/png"); vcard.setBirthday(DateTime.stringToDate("1865-05-04T00:00:00Z")); vcard.addUnknownContent("mutt"); VCard.EMailAddress emailAddress1 = new VCard.EMailAddress(); emailAddress1.address = "alice@wonderland.lit"; emailAddress1.isHome = true; emailAddress1.isPreferred = true; emailAddress1.isInternet = true; vcard.addEMailAddress(emailAddress1); VCard.EMailAddress address2 = new VCard.EMailAddress(); address2.address = "alice@teaparty.lit"; address2.isWork = true; address2.isX400 = true; vcard.addEMailAddress(address2); VCard.Telephone telephone1 = new VCard.Telephone(); telephone1.number = "555-6273"; telephone1.isHome = true; telephone1.isVoice = true; vcard.addTelephone(telephone1); VCard.Address address1 = new VCard.Address(); address1.locality = "Any Town"; address1.street = "Fake Street 123"; address1.postalCode = "12345"; address1.country = "USA"; address1.isHome = true; vcard.addAddress(address1); VCard.AddressLabel label1 = new VCard.AddressLabel(); label1.lines.add("Fake Street 123"); label1.lines.add("12345 Any Town"); label1.lines.add("USA"); label1.isHome = true; vcard.addAddressLabel(label1); vcard.addJID(new JID("alice@teaparty.lit")); vcard.addJID(new JID("alice@wonderland.lit")); vcard.setDescription("I once fell down a rabbit hole."); VCard.Organization org1 = new VCard.Organization(); org1.name = "Alice In Wonderland Inc."; vcard.addOrganization(org1); vcard.addTitle("Some Title"); vcard.addRole("Main Character"); vcard.addURL("http://wonderland.lit/~alice"); vcard.addURL("http://teaparty.lit/~alice2"); String expectedResult = "" + "2.0" + "Alice In Wonderland" + "" + "Wonderland" + "Alice" + "In" + "Mrs" + "PhD" + "" + "" + "alice@wonderland.lit" + "" + "" + "" + "" + "" + "alice@teaparty.lit" + "" + "" + "" + "DreamGirl" + "" + "image/png" + "YWJjZGVm" + "" + "1865-05-04T00:00:00Z" + "" + "555-6273" + "" + "" + "" + "" + "Fake Street 123" + "Any Town" + "12345" + "USA" + "" + "" + "" + "alice@teaparty.lit" + "alice@wonderland.lit" + "I once fell down a rabbit hole." + "" + "Alice In Wonderland Inc." + "" + "Some Title" + "Main Character" + "http://wonderland.lit/~alice" + "http://teaparty.lit/~alice2" + "mutt" + ""; assertEquals(expectedResult, testling.serialize(vcard)); } }