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()); }