Example #1
0
 /**
  *    The new mock class code in string form.
  *    @param $class            Class to replicate.
  *    @param $mock_class       New class name.
  *    @static
  *    @access private
  */
 function _createClassCode($class, $mock_class)
 {
     $mock_base = Mock::setMockBaseClass();
     $code = "class {$mock_class} extends {$mock_base} {\n";
     $code .= "    function {$mock_class}(&\$test, \$wildcard = MOCK_WILDCARD) {\n";
     $code .= "        \$this->{$mock_base}(\$test, \$wildcard);\n";
     $code .= "        \$args = func_get_args();\n";
     $code .= "        \$this->_mockMethod(\"{$class}\", \$args);\n";
     $code .= "    }\n";
     foreach (get_class_methods($class) as $method) {
         $code .= "    function {$method}() {\n";
         $code .= "        \$args = func_get_args();\n";
         $code .= "        return \$this->_mockMethod(\"{$method}\", \$args);\n";
         $code .= "    }\n";
     }
     $code .= "}\n";
     return $code;
 }
Example #2
0
    function aMethod()
    {
    }
}
Mock::generate("Dummy");
Mock::generate("Dummy", "AnotherMockDummy");
class SpecialSimpleMock extends SimpleMock
{
    function SpecialSimpleMock(&$test, $wildcard)
    {
        $this->SimpleMock($test, $wildcard);
    }
}
Mock::setMockBaseClass("SpecialSimpleMock");
Mock::generate("Dummy", "SpecialMockDummy");
Mock::setMockBaseClass("SimpleMock");
class TestOfCodeGeneration extends UnitTestCase
{
    function TestOfCodeGeneration()
    {
        $this->UnitTestCase();
    }
    function testCloning()
    {
        $mock =& new MockDummy($this);
        $this->assertTrue(method_exists($mock, "aMethod"));
        $this->assertNull($mock->aMethod());
    }
    function testCloningWithChosenClassName()
    {
        $mock =& new AnotherMockDummy($this);