Beispiel #1
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_returnJustGeneratedClass_return_objects_array_two_or_more_level_deep_without_methods_list()
 {
     $rvm = new ReturnValuesManager('test_66');
     $rvm1 = new ReturnValuesManager('test_77');
     $rvm2 = new ReturnValuesManager('test_88');
     $rvm2->setReturnValue('prova_metodo', 'ritorno');
     $rvm->setReturnObjectsArray('prova_metodo', array($rvm1, $rvm2));
     FakeObjectGenerator::generate($rvm, new CodeGenerator(null));
     $classe = "class test_66{\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        }\n        \$rvm_test_77 = new ReturnValuesManager('test_77');\n        if(self::\$times['prova_metodo'] == 1){\n        FakeObjectGenerator::generate(\$rvm_test_77, new CodeGenerator(null));\n        }\n        \$mocktest_77 = new test_77();\n        \$rvm_test_88 = new ReturnValuesManager('test_88');\n        \$rvm_test_88->setReturnValue('prova_metodo', 'ritorno');\n        if(self::\$times['prova_metodo'] == 1){\n        FakeObjectGenerator::generate(\$rvm_test_88, new CodeGenerator(null));\n        }\n        \$mocktest_88 = new test_88();\n        return array(\$mocktest_77,\$mocktest_88);\n    }\n}";
     $this->assertEqual($classe, FakeObjectGenerator::returnedCode());
     $oggetto = new test_66();
     $this->assertTrue(is_array($oggetto->prova_metodo()));
     $array = $oggetto->prova_metodo();
     $this->assertIsA($array[0], test_77);
     $this->assertIsA($array[1], test_88);
     $this->assertEqual('ritorno', $array[1]->prova_metodo());
 }