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: