Iso639Language { @Override public String toString() { return new ToStringBuilder(this,ToStringStyle.SHORT_PREFIX_STYLE) .append("name", this.name) .append("alpha2", this.alpha2Code) .append("alpha3", this.alpha3Code) .toString(); } private  Iso639Language(String name, String alpha3Code, String alpha2Code); static LanguageBuilder isoLanguage(String languageName); Iso639Language withAlpha2Code(String iso639Alpha2LanguageCode); Iso639Language withAlpha3Code(String iso639Alpha3LanguageCode); Iso639Language withName(String languageName); String getAlpha2Code(); String getAlpha3Code(); String getName(); @Override int hashCode(); @Override boolean equals(Object obj); @Override String toString();  }
@Test public void shouldCreateLanguageThatDoesNotHaveAnyAlpha2Code() { assertEquals("Iso639Language[name=Ghotuo,alpha2=<null>,alpha3=aaa]", IsoLanguageObjectMother.ghotuo().toString()); }