1: <?php
 2: 
 3: /**
 4:  * This file is part of expect package.
 5:  *
 6:  * (c) Noritaka Horio <holy.shared.design@gmail.com>
 7:  *
 8:  * This source file is subject to the MIT license that is bundled
 9:  * with this source code in the file LICENSE.
10:  */
11: namespace expect\matcher;
12: 
13: use expect\Matcher;
14: 
15: /**
16:  * Class PatternMatcher.
17:  */
18: final class PatternMatcher implements Matcher
19: {
20:     /**
21:      * @var string
22:      */
23:     private $actual;
24: 
25:     /**
26:      * @var string
27:      */
28:     private $expected;
29: 
30:     /**
31:      * @param string $expected String of a regular expression
32:      */
33:     public function __construct($expected)
34:     {
35:         $this->expected = $expected;
36:     }
37: 
38:     /**
39:      * {@inheritdoc}
40:      */
41:     public function match($actual)
42:     {
43:         $this->actual = $actual;
44: 
45:         return (preg_match($this->expected, $this->actual) === 1);
46:     }
47: }
48: