/** Test method for {@link JavadocBlockParserUtil#fetchField(JavadocScanner, java.util.Set)}. */
  @Test
  public void testFetchField() {
    {
      DefaultJavadocScanner scanner = string("Math#PI{");
      IrDocField elem = JavadocBlockParserUtil.fetchField(scanner, null);
      assertNotNull(elem);

      assertEquals("Math", elem.getDeclaringType().getName().asString());
      assertEquals("PI", elem.getName().getIdentifier());
      assertSameLocation(0, "Math#PI".length(), elem.getLocation());

      assertEquals(LEFT_BRACE, scanner.lookahead(0).getKind());
    }
    {
      DefaultJavadocScanner scanner = string("#PI{");
      IrDocField elem = JavadocBlockParserUtil.fetchField(scanner, null);
      assertNotNull(elem);

      assertNull(elem.getDeclaringType());
      assertEquals("PI", elem.getName().getIdentifier());
      assertSameLocation(0, "#PI".length(), elem.getLocation());

      assertEquals(LEFT_BRACE, scanner.lookahead(0).getKind());
    }
    {
      DefaultJavadocScanner scanner = string("/Math#PI");
      IrDocField elem = JavadocBlockParserUtil.fetchField(scanner, null);
      assertNull(elem);
      assertEquals(0, scanner.getIndex());
    }
    {
      DefaultJavadocScanner scanner = string("Math+#PI");
      IrDocField elem = JavadocBlockParserUtil.fetchField(scanner, null);
      assertNull(elem);
      assertEquals(0, scanner.getIndex());
    }
    {
      DefaultJavadocScanner scanner = string("Math#+PI");
      IrDocField elem = JavadocBlockParserUtil.fetchField(scanner, null);
      assertNull(elem);
      assertEquals(0, scanner.getIndex());
    }
    {
      DefaultJavadocScanner scanner = string("Math#PI{");
      IrDocField elem = JavadocBlockParserUtil.fetchField(scanner, EnumSet.of(WHITE_SPACES));
      assertNull(elem);
      assertEquals(0, scanner.getIndex());
    }
  }