@Override public Phone fromJson(JsonReader reader) throws IOException { String phone = reader.nextString(); String[] pieces = phone.split("\\|"); if (pieces.length == 3) return new Phone(pieces[0], pieces[1], pieces[2]); // Avoid returning a null phone if the server didn't return null. return new Phone("", "", ""); }
@Override public void toJson(JsonWriter writer, Phone value) throws IOException { writer.value(value.toString()); } }
@SuppressWarnings("ConstantConditions") @Override public boolean equals(Object o) { if (this == o) return true; if (o == null || getClass() != o.getClass()) return false; Address address = (Address) o; return (city != null ? city.equals(address.city) : address.city == null) && (country != null ? country.equals(address.country) : address.country == null) && (email != null ? email.equals(address.email) : address.email == null) && (fax != null ? fax.equals(address.fax) : address.fax == null) && (mobilePhone != null ? mobilePhone.equals(address.mobilePhone) : address.mobilePhone == null) && (phone != null ? phone.equals(address.phone) : address.phone == null) && (province != null ? province.equals(address.province) : address.province == null) && (street != null ? street.equals(address.street) : address.street == null) && (zipCode != null ? zipCode.equals(address.zipCode) : address.zipCode == null); }
@Test public void phone() throws Exception { Phone phone = new Phone("49", "177", "1234567"); String toJson = phoneAdapter().toJson(phone); assertThat(toJson).isEqualTo("\"49|177|1234567\""); Phone fromJson = phoneAdapter().fromJson("\"+1|23|4567890\""); assertThat(fromJson.countryCode()).isEqualTo("+1"); assertThat(fromJson.areaCode()).isEqualTo("23"); assertThat(fromJson.number()).isEqualTo("4567890"); assertThat(fromJson.toString()).isEqualTo("+1|23|4567890"); }
@Override public int hashCode() { int result = city != null ? city.hashCode() : 0; result = 31 * result + (country != null ? country.hashCode() : 0); result = 31 * result + (email != null ? email.hashCode() : 0); result = 31 * result + (fax != null ? fax.hashCode() : 0); result = 31 * result + (mobilePhone != null ? mobilePhone.hashCode() : 0); result = 31 * result + (phone != null ? phone.hashCode() : 0); result = 31 * result + (province != null ? province.hashCode() : 0); result = 31 * result + (street != null ? street.hashCode() : 0); result = 31 * result + (zipCode != null ? zipCode.hashCode() : 0); return result; }
@Test public void emptyPhone() throws Exception { Phone emptyPhone = new Phone("", "", ""); String toJson = phoneAdapter().toJson(emptyPhone); assertThat(toJson).isEqualTo("\"||\""); Phone fromJson = phoneAdapter().fromJson("\"||\""); assertThat(fromJson.areaCode()).isEmpty(); assertThat(fromJson.countryCode()).isEmpty(); assertThat(fromJson.number()).isEmpty(); assertThat(fromJson.toString()).isEqualTo("||"); }
private static void assertBusinessAddress(XingUser user) throws Exception { assertThat(user.businessAddress()).isEqualTo( new Address() .city("Hamburg") .country("DE") .zipCode("20357") .street("Geschäftsstraße 1a") .phone(new Phone("49", "40", "1234569")) .fax(new Phone("49", "40", "1234561")) .mobilePhone(new Phone("49", "160", "66666661")) .province("Hamburg") .email("max.mustermann@xing.com")); }
private static void assertPrivateAddress(XingUser user) throws Exception { assertThat(user.privateAddress()).isEqualTo( new Address() .city("Hamburg") .country("DE") .zipCode("20357") .street("Privatstraße 1") .phone(new Phone("49", "40", "1234560")) .fax(new Phone("", "", "")) .mobilePhone(new Phone("49", "0155", "1234567")) .province("Hamburg") .email("max@mustermann.de")); }