### Question:
ImmutableLanguage implements Language { @Override public String toHeader() { return languageTag().toLowerCase(Locale.ENGLISH); } ImmutableLanguage(Locale locale); @Override boolean isWildcard(); @Override String primaryTag(); @Override String subTag(); @Override Locale locale(); @Override String toHeader(); @Override int hashCode(); @Override boolean equals(Object obj); @Override String toString();  }### Answer:
@Test public void wildcardHeaderRepresentationIsValid() throws Exception { ImmutableLanguage sut = wildcard(); assertThat(sut.toHeader(),equalTo("*")); }
@Test public void simpleLanguageHeaderRepresentationIsValid() throws Exception { ImmutableLanguage sut = simpleLanguage(); assertThat(sut.toHeader(),equalTo(simpleLocale().getLanguage())); }
@Test public void compositeLanguageHeaderRepresentationIsValid() throws Exception { ImmutableLanguage sut = compositeLanguage(); assertThat(sut.toHeader(),equalTo("en-us")); }