}
@Test
public void testURI() throws Exception
{
URI orig = new URIImpl("http://www.nexcom.fr;user=me");
URI readOnly = new ReadOnlyURI((URI) orig.clone());
assertEquals(orig, readOnly);
try { readOnly.setParameter("foo", "bar"); fail();} catch (IllegalStateException e) {}
try { readOnly.removeParameter("user"); fail();} catch (IllegalStateException e) {}
assertEquals(orig, readOnly);
assertEquals(readOnly, orig);
assertEquals(orig.toString(), readOnly.toString());
URI clone = (URI) readOnly.clone();
clone.setParameter("a", "b");
testSerializable(readOnly);
}