/**
* @tests java.util.Scanner#match()
*/
public void test_match() {
MatchResult result ;
s = new Scanner("1 2 ");
try {
s.match();
fail("should throw IllegalStateException");
} catch (IllegalStateException e) {
// Expected
}
assertEquals("1", s.next());
assertEquals("2", s.next());
result = s.match();
assertEquals(2, result.start());
assertEquals(3, result.end());
assertEquals(2, result.start(0));
assertEquals(3, result.end(0));
assertEquals("2", result.group());
assertEquals("2", result.group(0));
assertEquals(0, result.groupCount());
try {
result.start(1);
fail("should throw IndexOutOfBoundsException");
} catch (IndexOutOfBoundsException e) {
// Expected
}
try {
s.next();
fail("should throw NoSuchElementException");
} catch (NoSuchElementException e) {
// Expected
}
try {
s.match();
fail("should throw IllegalStateException");
} catch (IllegalStateException e) {
// Expected
}
s = new Scanner("True faLse");
try {
s.match();
fail("should throw IllegalStateException");
} catch (IllegalStateException e) {
// Expected
}
assertTrue(s.nextBoolean());
result = s.match();
assertEquals(0, result.start());
assertEquals(4, result.end());
assertEquals(0, result.start(0));
assertEquals(4, result.end(0));
assertEquals("True", result.group());
assertEquals(0, result.groupCount());
assertFalse(s.nextBoolean());
try {
s.nextBoolean();
fail("should throw NoSuchElementException");
} catch (NoSuchElementException e) {
// Expected
}
try {
s.match();
fail("should throw IllegalStateException");
} catch (IllegalStateException e) {
// Expected
}
s = new Scanner("True faLse");
assertTrue(s.nextBoolean());
result = s.match();
assertEquals(0, result.start());
assertEquals(4, result.end());
assertEquals(0, result.start(0));
assertEquals(4, result.end(0));
assertEquals("True", result.group());
assertEquals(0, result.groupCount());
s.close();
try {
s.nextBoolean();
fail("should throw IllegalStateException");
} catch (IllegalStateException e) {
// Expected
}
result = s.match();
assertEquals(0, result.start());
assertEquals(4, result.end());
assertEquals(0, result.start(0));
assertEquals(4, result.end(0));
assertEquals("True", result.group());
assertEquals(0, result.groupCount());
s = new Scanner("True fase");
assertTrue(s.nextBoolean());
assertEquals(0, result.groupCount());
try {
s.nextBoolean();
fail("Should throw InputMismatchException");
} catch (InputMismatchException e) {
// expected
}
try {
s.match();
fail("should throw IllegalStateException");
} catch (IllegalStateException e) {
// Expected
}
s = new Scanner("True fase");
assertTrue(s.nextBoolean());
try {
s.next((Pattern)null);
fail("Should throw NullPointerException");
} catch (NullPointerException e) {
// Expected
}
result = s.match();
assertEquals(0, result.start());
assertEquals(4, result.end());
assertEquals(0, result.start(0));
assertEquals(4, result.end(0));
assertEquals("True", result.group());
assertEquals(0, result.groupCount());
}