package org.yestech.rpx.objectmodel;
import org.joda.time.DateTime;
import org.json.JSONObject;
import org.json.JSONException;
import static org.junit.Assert.assertEquals;
import static org.junit.Assert.assertNotNull;
import org.junit.Test;
import java.util.List;
/**
* @author A.J. Wright
*/
public class MergedPortableContactTest {
@Test
public void testFromJson() throws JSONException {
String json = "{\n" +
" \"gender\": \"male\",\n" +
" \"urls\": [\n" +
" {\n" +
" \"type\": \"other\",\n" +
" \"value\": \"http:\\/\\/ayax79.myopenid.com\\/\"\n" +
" }\n" +
" ],\n" +
" \"preferredUsername\": \"A.J.\",\n" +
" \"displayName\": \"Andrew Wright\",\n" +
" \"name\": {\n" +
" \"formatted\": \"Andrew Wright\"\n" +
" },\n" +
" \"birthday\": \"1979-01-09\",\n" +
" \"emails\": [\n" +
" {\n" +
" \"type\": \"other\",\n" +
" \"value\": \"ayax79@gmail.com\"\n" +
" }\n" +
" ]\n" +
" }";
MergedPortableContact mp = MergedPortableContact.fromJson(new JSONObject(json));
assertEquals(mp.getGender(), mp.getGender());
List<TypeValue> list = mp.getUrls();
assertNotNull(list);
assertEquals(1, list.size());
TypeValue url = list.get(0);
assertEquals("other", url.getType());
assertEquals("http://ayax79.myopenid.com/", url.getValue());
assertEquals("A.J.", mp.getPreferredUsername());
assertEquals("Andrew Wright", mp.getDisplayname());
assertNotNull(mp.getName());
assertEquals("Andrew Wright", mp.getName().getFormatted());
DateTime birthday = mp.getBirthday();
assertNotNull(birthday);
assertEquals(9, birthday.getDayOfMonth());
assertEquals(1, birthday.getMonthOfYear());
assertEquals(1979, birthday.getYear());
List<TypeValue> emails = mp.getEmails();
assertNotNull(emails);
assertEquals(1, emails.size());
TypeValue email = emails.get(0);
assertNotNull(email);
assertEquals("other", email.getType());
assertEquals("ayax79@gmail.com", email.getValue());
}
}