Ejemplo n.º 1
0
 function testSetReturnObject_should__return_an_exception_when_a_return_value_is_already_set_for_a_method()
 {
     $rvm = new ReturnValuesManager('foo');
     $returnValue = $rvm->setReturnObject('bar', 'foo');
     $this->expectException('Exception');
     // E' giusto così????
     $returnValue->setReturnObject('bar', 'foo2');
 }
Ejemplo n.º 2
0
 function test_ReturnValuesManger_CreationOfTheRightSetOfClasses()
 {
     $rvm = new ReturnValuesManager('Classe', 'Classe_da_estendere');
     $rvm->setReturnObject('getObject', 'Object', null, 'Class_extended');
     $rvm->setReturnObjectDefault('getObjectDefault', 'DefaultClass', 'SuperClass');
     $rvm->setReturnObjectsArray('getObjectArray', array(new ReturnValuesManager('Classe_1', 'ext1', 'implemento'), new ReturnValuesManager('Classe_2', 'ext2'), new ReturnValuesManager('Classe_3', 'ext3'), new ReturnValuesManager('Classe_4', 'ext4', 'implemento'), new ReturnValuesManager('Classe_5', 'ext5'), new ReturnValuesManager('Classe_6', 'ext6'), new ReturnValuesManager('Classe_7', 'ext7', 'implemento')), $at = null);
     $this->assertTrue(is_array($rvm->getClassesDeclared()), '->getClassesDeclared() returns an array');
     $array = $rvm->getClassesDeclared();
     $this->assertIsA($array[0], 'DeclaredClass', 'the array conmtains DeclaredClass objects');
     $this->assertEqual(count($array), 10, '->getClassesDeclared() returns the right number of elements');
     $object = $array[0];
     $this->assertEqual($object->getClassDefinition(), 'class Classe extends Classe_da_estendere', '->getDeclaration() returns the right values');
     $object = $array[3];
     $this->assertEqual($object->getClassDefinition(), 'class Classe_1 extends ext1 implements implemento', '->getDeclaration() returns the right values');
     $object = $array[9];
     $this->assertEqual($object->getClassDefinition(), 'class Classe_7 extends ext7 implements implemento', '->getDeclaration() returns the right values');
 }
 function test_timingConfigurationOnlyOncePerMethod_without_methods_list()
 {
     $rvm = new ReturnValuesManager('test_99');
     $rvm_array = new ReturnValuesManager('test_101');
     $rvm->setReturnObject('prova_metodo', 'test_101', 1)->setReturnObjectsArray('prova_metodo', array($rvm_array, $rvm_array), 2);
     FakeObjectGenerator::generate($rvm, new CodeGenerator(null));
     $classe = "class test_99{\n//timing\n     private static \$times = array();\n//Costants\n//Magic methods\n    public function __call(\$name, \$arguments) {\n        return null;\n    }\n    public function __callStatic(\$name, \$arguments) {\n        return null;\n    }\n//Methods\n    function prova_metodo(){\n        if(isset(self::\$times['prova_metodo'])){\n            self::\$times['prova_metodo']++;\n        }\n        else{\n            self::\$times['prova_metodo'] = 1;\n        }\nswitch (self::\$times['prova_metodo']){\n        case 1:\n        \$rvm_test_101 = new ReturnValuesManager('test_101');\n        if(self::\$times['prova_metodo'] == 1){\n        FakeObjectGenerator::generate(\$rvm_test_101, new CodeGenerator(null));\n        }\n        \$mocktest_101 = new test_101();\n        return new test_101();\n        break;\n        case 2:\n        \$rvm_test_101 = new ReturnValuesManager('test_101');\n        if(self::\$times['prova_metodo'] == 1){\n        FakeObjectGenerator::generate(\$rvm_test_101, new CodeGenerator(null));\n        }\n        \$mocktest_101 = new test_101();\n        return array(\$mocktest_101,\$mocktest_101);\n        break;\n        default: return null;\n        }\n    }\n}";
     $this->assertEqual($classe, FakeObjectGenerator::returnedCode());
     $oggetto = new test_99();
     $this->assertIsA($oggetto->prova_metodo(), test_101);
     $array = $oggetto->prova_metodo();
     $this->assertIsA($array[0], test_101);
     $this->assertIsA($array[1], test_101);
 }