* (c) Bernhard Schussek * * This source file is subject to the MIT license that is bundled * with this source code in the file LICENSE. */ /** * Represents the current state of the mock. * * A mock can have different states during his lifetime. The functionality * in these different states is implemented using the State Pattern. Each * state should extend this interface. * * @package Lime * @author Bernhard Schussek * @version SVN: $Id$ */ interface LimeMockStateInterface { /** * Handles an invoked method on the mock. * * Depending on the state of the mock, invoked methods may be treated * differently. * * @param string $class * @param string $method * @param array|string $parameters * @return mixed * @throws LimeMockInvocationException * @throws Exception */ public function invoke($class, $method, array $parameters = null); /** * Tells the state that the mock should not receive any method invocation. */ public function setExpectNothing(); /** * Verifies the mock in the current state. */ public function verify(); }