/src/test/com/williamvanderhoef/foursquare/test/endpoints/UserSelfTest.java

http://github.com/thepoofy/Foursquare_V2_Java_Adapter · Java · 137 lines · 89 code · 38 blank · 10 comment · 0 complexity · e8f6967643768a19c5ce7f7d0611b21b MD5 · raw file

  1. /**
  2. *
  3. */
  4. package com.williamvanderhoef.foursquare.test.endpoints;
  5. import java.util.ArrayList;
  6. import java.util.Arrays;
  7. import java.util.Collection;
  8. import java.util.List;
  9. import junit.framework.Assert;
  10. import org.junit.Test;
  11. import org.junit.runner.RunWith;
  12. import org.junit.runners.Parameterized;
  13. import org.junit.runners.Parameterized.Parameters;
  14. import com.williamvanderhoef.foursquare.BaseTest;
  15. import com.williamvanderhoef.foursquare.adapters.DefinedType;
  16. import com.williamvanderhoef.foursquare.adapters.JsonSyntaxException;
  17. import com.williamvanderhoef.foursquare.model.Contact;
  18. import com.williamvanderhoef.foursquare.model.User;
  19. import com.williamvanderhoef.foursquare.model.UserDetails;
  20. import com.williamvanderhoef.foursquare.model.subtypes.Count;
  21. import com.williamvanderhoef.foursquare.model.subtypes.Results;
  22. import com.williamvanderhoef.foursquare.parsers.GsonResultsParser;
  23. import com.williamvanderhoef.foursquare.parsers.JacksonResultsParser;
  24. import com.williamvanderhoef.foursquare.parsers.JsonUtil;
  25. import com.williamvanderhoef.foursquare.parsers.ResultsParser;
  26. import com.williamvanderhoef.foursquare.responses.UserResponse;
  27. /**
  28. * @author Willum
  29. *
  30. */
  31. @RunWith(Parameterized.class)
  32. public class UserSelfTest extends BaseTest<UserResponse> {
  33. @Override
  34. public String getFileName()
  35. {
  36. return "src/test/v2.users.self.Self.json";
  37. }
  38. public static DefinedType getEndpoint()
  39. {
  40. return new Results<UserResponse>(){};
  41. }
  42. @Parameters
  43. public static Collection<Object[]> generateParams(){
  44. List<ResultsParser<UserResponse>> params = new ArrayList<ResultsParser<UserResponse>>();
  45. GsonResultsParser<UserResponse> gLoader = new GsonResultsParser<UserResponse>(getEndpoint());
  46. params.add(gLoader);
  47. JacksonResultsParser<UserResponse> jLoader = new JacksonResultsParser<UserResponse>(getEndpoint());
  48. jLoader.setStrictValidation(true);
  49. params.add(jLoader);
  50. return Arrays.asList(new Object[][] {
  51. {gLoader},
  52. {jLoader}
  53. });
  54. }
  55. public UserSelfTest(ResultsParser<UserResponse> loader)
  56. {
  57. super(loader);
  58. }
  59. @Test
  60. public void testUser() {
  61. Results<UserResponse> results = getResults();
  62. UserDetails user = results.getResponse().getUser();
  63. Assert.assertNotNull(user);
  64. Assert.assertEquals("Will",user.getFirstName());
  65. Assert.assertEquals("Vanderhoef",user.getLastName());
  66. Assert.assertEquals(User.Gender.male, user.getGender());
  67. Assert.assertEquals(User.Relationship.self,user.getRelationship());
  68. Contact contact = user.getContact();
  69. Assert.assertNotNull(contact);
  70. Assert.assertEquals("thepoofy",contact.getTwitter());
  71. Assert.assertEquals("6313352247", contact.getPhone());
  72. Count badgeCount = user.getBadges();
  73. Assert.assertNotNull(badgeCount);
  74. Assert.assertEquals(Integer.valueOf(84), badgeCount.getCount());
  75. //TODO expect this to become null in the near future, should become a Count object
  76. Assert.assertNotNull(user.getMayorships().getItems());
  77. //TODO add more tests
  78. }
  79. @Override
  80. public void testEquality(Results<UserResponse> original,
  81. Results<UserResponse> secondBuild) {
  82. // TODO Auto-generated method stub
  83. }
  84. @Test
  85. public void testReserialize() throws JsonSyntaxException
  86. {
  87. UserResponse res = reserialize(UserResponse.class);
  88. Assert.assertNotNull(res);
  89. Assert.assertNotNull(res.getUser());
  90. }
  91. @Test
  92. public void testSerialize() throws JsonSyntaxException
  93. {
  94. String s = serialize(UserResponse.class);
  95. UserResponse userResponse = JsonUtil.getParser(UserResponse.class).simpleFromJson(s, UserResponse.class);
  96. Assert.assertNotNull(userResponse);
  97. Assert.assertNotNull(userResponse.getUser());
  98. }
  99. }