package test;
import static org.junit.Assert.*;
import net.brightkite4j.brightkite.resources.*;
import org.joda.time.DateTime;
import org.joda.time.DateTimeZone;
import org.junit.Ignore;
import org.junit.Test;
public class TestDeserialization {
@Test
public void testDeserializeBlockFromXML() throws Exception {
String xml = UtilsForTesting.readTestData("block.xml");
Block testBlock = Block.fromXML(xml);
DateTime createdAt = testBlock.getCreatedAt();
DateTime expectedCreatedAt = new DateTime(
2008, 7, 10, 20, 8, 35, 0, DateTimeZone.UTC
);
assertEquals("FrankZappa", testBlock.getBlocker());
assertEquals("batman", testBlock.getBlockee());
assertTrue(expectedCreatedAt.isEqual(createdAt));
}
@Test
public void testDeserializeCheckinFromXML() throws Exception {
String xml = UtilsForTesting.readTestData("checkin.xml");
Checkin testCheckin = Checkin.fromXML(xml);
DateTime createdAt = testCheckin.getCreatedAt();
Person creator = testCheckin.getCreator();
Place place = testCheckin.getPlace();
DateTime expectedCreatedAt = new DateTime(
2008, 6, 10, 22, 46, 15, 0, DateTimeZone.UTC
);
//Checkin
assertEquals("da4b9237bacccdf19c0760cab7aec4a8359010b0", testCheckin.getId());
assertTrue(testCheckin.isPublic());
assertEquals("29 days", testCheckin.getCreatedAtAsWords());
assertTrue(expectedCreatedAt.isEqual(createdAt));
//Creator
assertNull(creator.getFullname());
assertEquals("firetoad", creator.getLogin());
assertEquals("/images/default_user_avatar_small.png", creator.getSmallAvatarUrl());
assertEquals("/images/default_user_avatar_smaller.png", creator.getSmallerAvatarUrl());
assertEquals("/images/default_user_avatar_tiny.png", creator.getTinyAvatarUrl());
//Place
assertEquals("address", place.getScope());
assertEquals("356a192b7913b04c54574d18c28d46e6395428ab", place.getId());
assertEquals("3850 Paseo del Prado St, Boulder, CO 80301, USA", place.getName());
assertEquals("3850 Paseo Del Prado St, Boulder, CO 80301, USA", place.getDisplayLocation());
assertEquals(-105.256712, place.getLongitude(), 0.000001);
assertEquals(40.044001, place.getLatitude(), 0.000001);
}
@Test
public void testDeserializeDirectMessageFromXML() throws Exception {
String xml = UtilsForTesting.readTestData("direct_message.xml");
DirectMessage directMessage = DirectMessage.fromXML(xml);
DateTime createdAt = directMessage.getCreatedAt();
Person sender = directMessage.getSender();
Person recipient = directMessage.getRecipient();
DateTime expectedCreatedAt = new DateTime(
2008, 6, 20, 21, 33, 28, 0, DateTimeZone.UTC
);
//Checkin
assertEquals("Nudge Nudge! This would be a good time to check in and post something, I'm wondering what you're up to.", directMessage.getBody());
assertEquals("19 days", directMessage.getCreatedAtAsWords());
assertFalse(directMessage.isRead());
assertTrue(directMessage.isUnread());
assertTrue(expectedCreatedAt.isEqual(createdAt));
//Sender
assertNull(sender.getFullname());
assertEquals("firetoad", sender.getLogin());
assertEquals("/images/default_user_avatar_small.png", sender.getSmallAvatarUrl());
assertEquals("/images/default_user_avatar_smaller.png", sender.getSmallerAvatarUrl());
assertEquals("/images/default_user_avatar_tiny.png", sender.getTinyAvatarUrl());
//Recipient
assertEquals("Me!", recipient.getFullname());
assertEquals("mike", recipient.getLogin());
assertEquals("/images/default_user_avatar_small.png", recipient.getSmallAvatarUrl());
assertEquals("/images/default_user_avatar_smaller.png", recipient.getSmallerAvatarUrl());
assertEquals("/images/default_user_avatar_tiny.png", recipient.getTinyAvatarUrl());
}
@Test
public void testDeserializeFriendshipFromXML() throws Exception {
String xml = UtilsForTesting.readTestData("friendship.xml");
Friendship friendship = Friendship.fromXML(xml);
DateTime createdAt = friendship.getCreatedAt();
Person friendable = friendship.getFriendable();
Person user = friendship.getUser();
DateTime expectedCreatedAt = new DateTime(
2008, 6, 18, 22, 50, 17, 0, DateTimeZone.UTC
);
//Friendship
assertFalse(friendship.isPostEmailNotifications());
assertFalse(friendship.isCheckinEmailNotifications());
assertFalse(friendship.isTrusted());
assertTrue(friendship.isPostStreamFeeding());
assertTrue(friendship.isCheckinStreamFeeding());
assertFalse(friendship.isPostSMSNotifications());
assertFalse(friendship.isCheckinSMSNotifications());
assertTrue(expectedCreatedAt.isEqual(createdAt));
//Friendable
assertNull(friendable.getFullname());
assertEquals("firetoad", friendable.getLogin());
assertEquals("/images/default_user_avatar_small.png", friendable.getSmallAvatarUrl());
assertEquals("/images/default_user_avatar_smaller.png", friendable.getSmallerAvatarUrl());
assertEquals("/images/default_user_avatar_tiny.png", friendable.getTinyAvatarUrl());
//User
assertEquals("Me!", user.getFullname());
assertEquals("mike", user.getLogin());
assertEquals("/images/default_user_avatar_small.png", user.getSmallAvatarUrl());
assertEquals("/images/default_user_avatar_smaller.png", user.getSmallerAvatarUrl());
assertEquals("/images/default_user_avatar_tiny.png", user.getTinyAvatarUrl());
}
@Test
public void testDeserializePersonFromXML() throws Exception {
String xml = UtilsForTesting.readTestData("person.xml");
Person person = Person.fromXML(xml);
DateTime expectedLastCheckedInAt = new DateTime(
2008, 7, 10, 20, 8, 35, 0, DateTimeZone.UTC
);
//Person
assertNull(person.getFullname());
assertEquals("FrankZappa", person.getLogin());
assertEquals("Totally sweet", person.getDescription());
assertNull(person.getWebsite());
assertNull(person.getAge());
assertEquals("unspecified", person.getSex());
assertEquals("/images/default_user_avatar_small.png", person.getSmallAvatarUrl());
assertEquals("/images/default_user_avatar_smaller.png", person.getSmallerAvatarUrl());
assertEquals("/images/default_user_avatar_tiny.png", person.getTinyAvatarUrl());
assertTrue(expectedLastCheckedInAt.isEqual(person.getLastCheckedIn()));
}
@Test
public void testDeserializePlaceFromXML() throws Exception {
String xml = UtilsForTesting.readTestData("place.xml");
Place place = Place.fromXML(xml);
//Place
assertEquals("da4b9237bacccdf19c0760cab7aec4a8359010b0", place.getId());
assertEquals("country", place.getScope());
assertEquals("USA", place.getName());
assertEquals("USA", place.getDisplayLocation());
assertNull(place.getStreet());
assertNull(place.getStreet2());
assertNull(place.getCity());
assertNull(place.getState());
assertNull(place.getZip());
assertEquals(-95.712891, place.getLongitude(), 0.000001);
assertEquals(37.090240, place.getLatitude(), 0.000001);
}
@Test
public void testDeserializePlacemarkFromXML() throws Exception {
String xml = UtilsForTesting.readTestData("placemark.xml");
Placemark placemark = Placemark.fromXML(xml);
Place place = placemark.getPlace();
Person user = placemark.getUser();
DateTime expectedCreatedAt = new DateTime(
2008, 6, 10, 16, 36, 31, 0, DateTimeZone.forOffsetHours(-6)
);
//Placemark
assertEquals("blee", placemark.getPlacemark());
assertTrue(expectedCreatedAt.isEqual(placemark.getCreatedAt()));
//Place
assertEquals("356a192b7913b04c54574d18c28d46e6395428ab", place.getId());
assertEquals("address", place.getScope());
assertEquals("3850 Paseo del Prado St, Boulder, CO 80301, USA", place.getName());
assertEquals("3850 Paseo Del Prado St, Boulder, CO 80301, USA", place.getDisplayLocation());
assertEquals(-105.256712, place.getLongitude(), 0.000001);
assertEquals(40.044001, place.getLatitude(), 0.000001);
//Person
assertNull(user.getFullname());
assertEquals("firetoad", user.getLogin());
assertEquals("/images/default_user_avatar_small.png", user.getSmallAvatarUrl());
assertEquals("/images/default_user_avatar_smaller.png", user.getSmallerAvatarUrl());
assertEquals("/images/default_user_avatar_tiny.png", user.getTinyAvatarUrl());
}
@Test
public void testDeserializeNoteFromXML() throws Exception {
String xml = UtilsForTesting.readTestData("note.xml");
Note note = Note.fromXML(xml);
Place place = note.getPlace();
Person creator = note.getCreator();
DateTime expectedCreatedAt = new DateTime(
2008, 7, 1, 16, 57, 37, 0, DateTimeZone.UTC
);
//Note
assertEquals("fe2ef495a1152561572949784c16bf23abb28057", note.getId());
assertEquals("No para hasta conquistar! Vamos Espa�a!", note.getBody());
assertEquals("9 days", note.getCreatedAtAsWords());
assertTrue(note.isAbout());
assertTrue(note.isPublic());
assertTrue(expectedCreatedAt.isEqual(note.getCreatedAt()));
//Place
assertEquals("da4b9237bacccdf19c0760cab7aec4a8359010b0", place.getId());
assertEquals("country", place.getScope());
assertEquals("USA", place.getName());
assertEquals("USA", place.getDisplayLocation());
assertEquals(-95.712891, place.getLongitude(), 0.000001);
assertEquals(37.090240, place.getLatitude(), 0.000001);
//Person
assertNull(creator.getFullname());
assertEquals("FrankZappa", creator.getLogin());
assertEquals("/images/default_user_avatar_small.png", creator.getSmallAvatarUrl());
assertEquals("/images/default_user_avatar_smaller.png", creator.getSmallerAvatarUrl());
assertEquals("/images/default_user_avatar_tiny.png", creator.getTinyAvatarUrl());
}
@Test
public void testDeserializePlaceObjectFromPhotoXML() throws Exception {
String xml = UtilsForTesting.readTestData("photo.xml");
Photo photo = Photo.fromXML(xml);
Place place = photo.getPlace();
Person creator = photo.getCreator();
DateTime expectedCreatedAt = new DateTime(
2008, 7, 3, 19, 53, 58, 0, DateTimeZone.UTC
);
//Photo
assertEquals("3a76426bffc90ffae044d5b29b10be6350a27397", photo.getId());
assertEquals("El Ni�o", photo.getBody());
assertEquals("7 days", photo.getCreatedAtAsWords());
assertFalse(photo.isAbout());
assertTrue(photo.isPublic());
assertTrue(expectedCreatedAt.isEqual(photo.getCreatedAt()));
//Place
assertEquals("356a192b7913b04c54574d18c28d46e6395428ab", place.getId());
assertEquals("address", place.getScope());
assertEquals("Brightkite HQ", place.getName());
assertEquals("2911 Walnut St, Denver, CO 80205, USA", place.getDisplayLocation());
assertEquals(-104.982480, place.getLongitude(), 0.000001);
assertEquals(39.762146, place.getLatitude(), 0.000001);
//Person
assertEquals("M. Collins", creator.getFullname());
assertEquals("mcollins", creator.getLogin());
assertEquals("/images/user/avatar/2292/me-small.png", creator.getSmallAvatarUrl());
assertEquals("/images/user/avatar/2292/me-smaller.png", creator.getSmallerAvatarUrl());
assertEquals("/images/user/avatar/2292/me-tiny.png", creator.getTinyAvatarUrl());
}
@Ignore
public void testDeserializeCommentFromXML() throws Exception {
String xml = UtilsForTesting.readTestData("comment.xml");
Comment comment = Comment.fromXML(xml);
DateTime expectedCreatedAt = new DateTime(
2008, 11, 22, 2, 36, 1, 0, DateTimeZone.UTC
);
assertEquals("84", comment.getComment());
assertEquals("3 days", comment.getCreatedAtAsWords());
assertTrue(expectedCreatedAt.isEqual(comment.getCreatedAt()));
assertEquals("Jim Bob", comment.getUser().getFullname());
}
}