@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("", "", ""); }
@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"); }
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")); }
@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("||"); }