1 : <?php
2 : /**
3 : * Mockery
4 : *
5 : * LICENSE
6 : *
7 : * This source file is subject to the new BSD license that is bundled
8 : * with this package in the file LICENSE.txt.
9 : * It is also available through the world-wide-web at this URL:
10 : * http://github.com/padraic/mockery/blob/master/LICENSE
11 : * If you did not receive a copy of the license and are unable to
12 : * obtain it through the world-wide-web, please send an email
13 : * to padraic@php.net so we can send you a copy immediately.
14 : *
15 : * @category Mockery
16 : * @package Mockery
17 : * @copyright Copyright (c) 2010 Pádraic Brady (http://blog.astrumfutura.com)
18 : * @license http://github.com/padraic/mockery/blob/master/LICENSE New BSD License
19 : */
20 :
21 : namespace Mockery\CountValidator;
22 :
23 : abstract class CountValidatorAbstract
24 : {
25 :
26 : /**
27 : * Expectation for which this validator is assigned
28 : *
29 : * @var \Mockery\Expectation
30 : */
31 : protected $_expectation = null;
32 :
33 : /**
34 : * Call count limit
35 : *
36 : * @var int
37 : */
38 : protected $_limit = null;
39 :
40 : /**
41 : * Set Expectation object and upper call limit
42 : *
43 : * @param \Mockery\Expectation $expectation
44 : * @param int $limit
45 : */
46 : public function __construct(\Mockery\Expectation $expectation, $limit)
47 : {
48 25 : $this->_expectation = $expectation;
49 25 : $this->_limit = $limit;
50 25 : }
51 :
52 : /**
53 : * Checks if the validator can accept an additional nth call
54 : *
55 : * @param int $n
56 : * @return bool
57 : */
58 : public function isEligible($n)
59 : {
60 24 : return ($n < $this->_limit);
61 : }
62 :
63 : /**
64 : * Validate the call count against this validator
65 : *
66 : * @param int $n
67 : * @return bool
68 : */
69 : public abstract function validate($n);
70 :
71 : }
|