@Test
public void decodeRfc3986() {

    assertEquals("", UriEncoding.decode("", RFC3986));
    assertEquals("foo", UriEncoding.decode("foo", RFC3986));
    assertEquals("with space", UriEncoding.decode("with%20space", RFC3986));
    assertEquals("with+PlusEncoded", UriEncoding.decode("with%2bPlusEncoded", RFC3986));
    assertEquals("with+PlusNotEncoded", UriEncoding.decode("with+PlusNotEncoded", RFC3986));
    assertEquals(MANY_DIFFERENT_CHARS,
            UriEncoding.decode(MANY_DIFFERENT_CHARS_QUERY_PARAM_ENCODED_RFC3986, RFC3986));
}