@Test public void validTimeZone() throws Exception { JsonAdapter<TimeZone> adapter = timeZoneAdapter(TimeZone.class); TimeZone fromJson = adapter.fromJson("{\n" + " \"name\": \"Uff\",\n" + " \"utc_offset\": 0.34\n" + '}'); assertThat(fromJson.name()).isEqualTo("Uff"); assertThat(fromJson.utcOffset()).isEqualTo(0.34); String toJson = adapter.toJson(new TimeZone("Hey", 45.34)); assertThat(toJson).isEqualTo("{\"name\":\"Hey\",\"utc_offset\":45.34}"); }
return false; if (timeZone != null ? !timeZone.equals(xingUser.timeZone) : xingUser.timeZone != null) return false; if (premiumServices != null ? !premiumServices.equals(xingUser.premiumServices) : xingUser.premiumServices != null) {
result = 31 * result + (birthDate != null ? birthDate.hashCode() : 0); result = 31 * result + (activeEmail != null ? activeEmail.hashCode() : 0); result = 31 * result + (timeZone != null ? timeZone.hashCode() : 0); result = 31 * result + (premiumServices != null ? premiumServices.hashCode() : 0); result = 31 * result + (badges != null ? badges.hashCode() : 0);
@Override public TimeZone fromJson(JsonReader reader) throws IOException { String timeZoneName = null; Double utcOffset = null; reader.beginObject(); while (reader.hasNext()) { String name = reader.nextName(); if (reader.peek() == Token.NULL) { reader.skipValue(); continue; } if ("name" .equals(name)) { timeZoneName = reader.nextString(); } else if ("utc_offset" .equals(name)) { utcOffset = reader.nextDouble(); } else { reader.skipValue(); } } reader.endObject(); if (timeZoneName != null && utcOffset != null) return new TimeZone(timeZoneName, utcOffset); return null; }
assertThat(user.birthDate()).isEqualTo(new SafeCalendar(1963, Calendar.AUGUST, 12)); assertThat(user.activeEmail()).isEqualTo("max.mustermann@xing.com"); assertThat(user.timeZone()).isEqualTo(new TimeZone("Europe/Copenhagen", 2.0f)); assertThat(user.premiumServices()).containsExactly(PremiumService.SEARCH, PremiumService.PRIVATE_MESSAGES); assertThat(user.badges()).containsExactly(Badge.PREMIUM, Badge.MODERATOR, Badge.EXECUTIVE);