/**
  * @depends testGetRegex
  */
 public function testReplace()
 {
     $regex = new VerbalExpressions();
     $regex->add('foo');
     $this->assertEquals('/foo/m', $regex->getRegex());
     $this->assertEquals('bazbarfoo', $regex->replace('foobarfoo', 'baz'));
     $regex->stopAtFirst();
     $this->assertEquals('/foo/mg', $regex->getRegex());
     $this->assertEquals('bazbarbaz', $regex->replace('foobarfoo', 'baz'));
 }
 public function testAnyOf()
 {
     $regex = new VerbalExpressions();
     $regex->startOfLine()->anyOf('a1M')->endOfLine();
     $this->assertTrue($regex->test('a'));
     $this->assertTrue($regex->test('1'));
     $this->assertTrue($regex->test('M'));
     $this->assertFalse($regex->test('b'));
     $this->assertFalse($regex->test(''));
     $this->assertFalse($regex->test(' '));
 }
 /**
  * @test
  */
 public function shouldWorkWhenCalledWithPhpVerbalExpressions()
 {
     $regex = new PhpVerbalExpressions();
     $regex->add('(a|b)')->add('\\d+');
     $result = $this->executor->getAllMatches($regex, self::MATCHING_SUBJECT);
     $this->assertInstanceOf(MatchResult::class, $result);
     $this->assertEquals(4, $result->getMatchesCount());
     $this->assertEquals('a5', $result->getMatchAt(2)->getFullMatch());
     $this->assertEquals('a', $result->getMatchAt(2)->getSubMatchAt(1));
     $this->assertEquals(14, $result->getMatchAt(2)->getSubmatchOffsetAt(1));
 }