### Question:
Http2Settings extends CharObjectHashMap<Long> { @Override public Long put(final char key, final Long value) { verifyStandardSetting(key, value); return super.put(key, value); } Http2Settings();  Http2Settings(final int initialCapacity, final float loadFactor);  Http2Settings(final int initialCapacity); @Override Long put(final char key, final Long value); Long headerTableSize(); Http2Settings headerTableSize(final long value); Boolean pushEnabled(); Http2Settings pushEnabled(final boolean enabled); Long maxConcurrentStreams(); Http2Settings maxConcurrentStreams(final long value); Integer initialWindowSize(); Http2Settings initialWindowSize(final int value); Integer maxFrameSize(); Http2Settings maxFrameSize(final int value); Long maxHeaderListSize(); Http2Settings maxHeaderListSize(final long value); Http2Settings copyFrom(final Http2Settings settings); Integer getIntValue(final char key); static Http2Settings defaultSettings();  }### Answer:
@Test public void nonStandardSettingsShouldBeSet() { final char key = 0; settings.put(key, (Long) 123L); assertEquals(123L, (long) settings.get(key)); }
@Test public void settingsShouldSupportUnsignedShort() { final char key = (char) (Short.MAX_VALUE + 1); settings.put(key, (Long) 123L); assertEquals(123L, (long) settings.get(key)); }
@Test public void headerTableSizeUnsignedInt() { settings.put(Http2CodecUtil.SETTINGS_HEADER_TABLE_SIZE, (Long) MAX_UNSIGNED_INT); assertEquals(MAX_UNSIGNED_INT, (long) settings.get(Http2CodecUtil.SETTINGS_HEADER_TABLE_SIZE)); }
@Test(expected = IllegalArgumentException.class) public void headerTableSizeBoundCheck() { settings.put(Http2CodecUtil.SETTINGS_HEADER_TABLE_SIZE, (Long) Long.MAX_VALUE); }
@Test(expected = IllegalArgumentException.class) public void headerTableSizeBoundCheck2() { settings.put(Http2CodecUtil.SETTINGS_HEADER_TABLE_SIZE, Long.valueOf(-1L)); }