/**
  * Tests the parsing of a reference into its components
  *
  * @param reference
  * @param scheme
  * @param authority
  * @param path
  * @param query
  * @param fragment
  */
 private void testRef0(
     String reference,
     String scheme,
     String authority,
     String path,
     String query,
     String fragment) {
   final Reference ref = new Reference(reference);
   assertEquals(scheme, ref.getScheme());
   assertEquals(authority, ref.getAuthority());
   assertEquals(path, ref.getPath());
   assertEquals(query, ref.getQuery());
   assertEquals(fragment, ref.getFragment());
 }
 /**
  * Test the behaviour of several getters upon a Reference object.
  *
  * @param reference
  * @param query
  * @param fragment
  * @param toString
  */
 private void testRef4(
     Reference reference,
     String scheme,
     String authority,
     String path,
     String remainingPart,
     String toString,
     String targetRef,
     String query,
     String relativePart) {
   assertEquals(reference.getScheme(), scheme);
   assertEquals(reference.getAuthority(), authority);
   assertEquals(reference.getPath(), path);
   assertEquals(reference.getRemainingPart(), remainingPart);
   assertEquals(reference.toString(), toString);
   assertEquals(reference.getTargetRef().toString(), targetRef);
   assertEquals(reference.getQuery(), query);
   assertEquals(reference.getRelativePart(), relativePart);
 }