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;
12:
13: use Countable;
14:
15: /**
16: * Container of matcher.
17: *
18: * @author Noritaka Horio <holy.shared.design@gmail.com>
19: * @copyright Noritaka Horio <holy.shared.design@gmail.com>
20: */
21: interface MatcherContainer extends Countable
22: {
23: /**
24: * Find the matcher class by name.
25: * Returns true if it is found.
26: *
27: * @param string matcher name
28: *
29: * @return bool
30: */
31: public function has($name);
32:
33: /**
34: * Get the matcher class.
35: *
36: * @param string matcher name
37: *
38: * @return \expect\package\MatcherClass
39: */
40: public function get($name);
41: }
42: