public synchronized boolean equals(java.lang.Object obj) { if (!(obj instanceof Language)) return false; Language other = (Language) obj; if (obj == null) return false; if (this == obj) return true; if (__equalsCalc != null) { return (__equalsCalc == obj); } __equalsCalc = obj; boolean _equals; _equals = super.equals(obj) && ((this.code == null && other.getCode() == null) || (this.code != null && this.code.equals(other.getCode()))) && ((this.name == null && other.getName() == null) || (this.name != null && this.name.equals(other.getName()))); __equalsCalc = null; return _equals; }
@Test public void testMixed() { Language lang = new Language("En"); assertEquals("Test for LL.getCode", "en", lang.getCode()); assertEquals("Test for LL.getScript", null, lang.getScript()); assertEquals("Test for LL.getCountry", null, lang.getCountry()); assertEquals("Test for LL.getGiven", "En", lang.getGivenSpecification()); assertEquals("Test for LL.getFound", "en", lang.getFoundSpecification()); assertTrue("Test for LL.isValid", lang.isValidLanguage()); lang = new Language("En-lATn"); assertEquals("Test for LL-SSSS.getCode", "en", lang.getCode()); assertEquals("Test for LL-SSSS.getScript", "Latn", lang.getScript()); assertEquals("Test for LL-SSSS.getCountry", null, lang.getCountry()); assertEquals("Test for LL-SSSS.getGiven", "En-lATn", lang.getGivenSpecification()); assertEquals("Test for LL-SSSS.getFound", "en", lang.getFoundSpecification()); assertTrue("Test for LL-SSSS-CC.isValid", lang.isValidLanguage()); lang = new Language("En-Us"); assertEquals("Test for LL-CC.getCode", "en", lang.getCode()); assertEquals("Test for LL-CC.getScript", null, lang.getScript()); assertEquals("Test for LL-CC.getCountry", "US", lang.getCountry()); assertEquals("Test for LL-CC.getGiven", "En-Us", lang.getGivenSpecification()); assertEquals("Test for LL-CC.getFound", "en-US", lang.getFoundSpecification()); assertTrue("Test for LL-CC.isValid", lang.isValidLanguage()); lang = new Language("En-lATn-Us"); assertEquals("Test for LL-SSSS-CC.getCode", "en", lang.getCode()); assertEquals("Test for LL-SSSS-CC.getScript", "Latn", lang.getScript()); assertEquals("Test for LL-SSSS-CC.getCountry", "US", lang.getCountry()); assertEquals("Test for LL-SSSS-CC.getGiven", "En-lATn-Us", lang.getGivenSpecification()); assertEquals("Test for LL-SSSS=CC.getFound", "en-US", lang.getFoundSpecification()); assertTrue("Test for LL-SSSS-CC.isValid", lang.isValidLanguage()); lang = new Language("En-Us-lATn"); assertEquals("Test for LL-CC-SSSS.getCode", "en", lang.getCode()); assertEquals("Test for LL-CC-SSSS.getScript", null, lang.getScript()); assertEquals("Test for LL-CC-SSSS.getCountry", "US", lang.getCountry()); assertEquals("Test for LL-CC-SSSS.getGiven", "En-Us-lATn", lang.getGivenSpecification()); assertEquals("Test for LL-CC-SSSS.getFound", "en-US", lang.getFoundSpecification()); assertFalse("Test for LL-CC-SSSS.isValid", lang.isValidLanguage()); }
@Test public void testNonCanonical() { Language lang = new Language("EN"); assertEquals("Test for LL.getCode", "en", lang.getCode()); assertEquals("Test for LL.getScript", null, lang.getScript()); assertEquals("Test for LL.getCountry", null, lang.getCountry()); lang = new Language("EN-latn"); assertEquals("Test for LL-SSSS.getCode", "en", lang.getCode()); assertEquals("Test for LL-SSSS.getScript", "Latn", lang.getScript()); assertEquals("Test for LL-SSSS.getCountry", null, lang.getCountry()); lang = new Language("EN-us"); assertEquals("Test for LL-CC.getCode", "en", lang.getCode()); assertEquals("Test for LL-CC.getScript", null, lang.getScript()); assertEquals("Test for LL-CC.getCountry", "US", lang.getCountry()); lang = new Language("EN-latn-us"); assertEquals("Test for LL-SSSS-CC.getCode", "en", lang.getCode()); assertEquals("Test for LL-SSSS-CC.getScript", "Latn", lang.getScript()); assertEquals("Test for LL-SSSS-CC.getCountry", "US", lang.getCountry()); lang = new Language("EN-us-latn"); assertEquals("Test for LL-CC-SSSS.getCode", "en", lang.getCode()); assertEquals("Test for LL-CC-SSSS.getScript", null, lang.getScript()); assertEquals("Test for LL-CC-SSSS.getCountry", "US", lang.getCountry()); }
@Override public String toString() { StringBuilder builder = new StringBuilder(); builder.append("("); boolean first = true; for (Language language : path) { if (!first) { builder.append(" "); } else { first = false; } builder.append(language.getCode()); } builder.append(")"); return builder.toString(); }
public String getCode() { return "guest." + language.getCode(); }