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: /**
14: * Configuration
15: *
16: * @author Noritaka Horio <holy.shared.design@gmail.com>
17: * @copyright Noritaka Horio <holy.shared.design@gmail.com>
18: */
19: interface Configuration
20: {
21: /**
22: * Get result reporter
23: *
24: * @return \expect\ResultReporter
25: */
26: public function getResultReporter();
27:
28: /**
29: * Get matcher package registrars
30: *
31: * @return \expect\PackageRegistrar[] package registrars
32: */
33: public function getMatcherRegistrars();
34:
35: /**
36: * Merge the configuration
37: *
38: * @param Configuration $config
39: *
40: * @return Configuration merged configration
41: */
42: public function merge(Configuration $config);
43: }
44: