[ Index ]

PHP Cross Reference of Limb3

title

Body

[close]

/toolkit/src/ -> lmbMockToolsWrapper.class.php (source)

   1  <?php
   2  /*
   3   * Limb PHP Framework
   4   *
   5   * @link http://limb-project.com 
   6   * @copyright  Copyright &copy; 2004-2007 BIT(http://bit-creative.com)
   7   * @license    LGPL http://www.gnu.org/copyleft/lesser.html 
   8   */
   9  
  10  /**
  11   * Helps in introducing mock tools (mock objects generated for real tools) into lmbToolkit
  12   * Created for testing purposes only.
  13   * Example of usage:
  14   * <code>
  15   * Mock :: generate('MyTools', 'MockMyTools');
  16   * $tools = new MockMyTools();
  17   * $tools->expectOnce('getUser');
  18   * $tools->setReturnValue('getUser', $user);
  19   * $tools = new lmbMockToolsWrapper($tools, array('getUser'));
  20   * lmbToolkit :: merge($tools);
  21   * </code>
  22   * @package toolkit
  23   * @version $Id: lmbMockToolsWrapper.class.php 5945 2007-06-06 08:31:43Z pachanga $
  24   */
  25  class lmbMockToolsWrapper implements lmbToolkitTools
  26  {
  27    /**

  28    * @var mixed Mock object generated for some real tools class

  29    */
  30    protected $mock;
  31    /**

  32    * @var array Array of methods that this tools wrapper allowed to support

  33    */
  34    protected $use_only_methods;
  35  
  36    /**

  37    * @param mixed Mock object generated for some real tools class

  38    * @param array Array of methods that this tools wrapper allowed to support

  39    */
  40    function __construct($mock, $use_only_methods = array())
  41    {
  42      $this->mock = $mock;
  43      $this->use_only_methods = $use_only_methods;
  44    }
  45  
  46    /**

  47    * @see lmbToolkitTools :: getToolsSignatures()

  48    */
  49    function getToolsSignatures()
  50    {
  51      $signatures = array();
  52      foreach(get_class_methods(get_class($this->mock)) as $method)
  53      {
  54        if($this->use_only_methods && !in_array($method, $this->use_only_methods))
  55          continue;
  56  
  57        $signatures[$method] = $this->mock;
  58      }
  59      return $signatures;
  60    }
  61  }
  62  
  63  ?>


Generated: Tue Dec 2 03:54:09 2008 Cross-referenced by PHPXref 0.7