### Question:
Message { public Map<String, Collection<String>> headers() { return unmodifiableMap(headers); }  abstract String item(); abstract Request request(); R map(final Function<T, R> mapper); T lift(final Message<?> message); Message<?> link(final String item); boolean interactive(); Optional<String> charset(); Shape shape(); T shape(final Shape shape); Map<String, Collection<String>> headers(); T headers(final Map<String, ? extends Collection<String>> headers); Optional<String> header(final String name); T header(final String name, final String value); Collection<String> headers(final String name); T headers(final String name, final String... values); T headers(final String name, final Collection<String> values); Result<V, Failure> body(final Format<V> format); T body(final Format<V> format, final V value);  }### Answer:
@Test void testHeadersNormalizeHeaderNames() { assertThat(new MessageMock() .headers("TEST-header", "value") ) .hasHeader("TEST-Header"); }
@Test void testHeadersIgnoreEmptyHeaders() { assertThat(new MessageMock() .headers("test-header", emptySet()) ) .doesNotHaveHeader("test-header"); }