diff options
| author | Zoe Slattery <zoe@php.net> | 2009-05-07 09:21:43 +0000 |
|---|---|---|
| committer | Zoe Slattery <zoe@php.net> | 2009-05-07 09:21:43 +0000 |
| commit | cba448a9d358451338d57c5e45f7c7e06f3143d2 (patch) | |
| tree | df77a5d196aca30ffeb295d7dd5e79dc2429422a /scripts/dev/generate-phpt/src/testcase/gtVariationTestCaseMethod.php | |
| parent | 903f306a60fddda0c7faf824d9252b08add34456 (diff) | |
| download | php-git-cba448a9d358451338d57c5e45f7c7e06f3143d2.tar.gz | |
Replacing generate script with a new version
Diffstat (limited to 'scripts/dev/generate-phpt/src/testcase/gtVariationTestCaseMethod.php')
| -rw-r--r-- | scripts/dev/generate-phpt/src/testcase/gtVariationTestCaseMethod.php | 68 |
1 files changed, 68 insertions, 0 deletions
diff --git a/scripts/dev/generate-phpt/src/testcase/gtVariationTestCaseMethod.php b/scripts/dev/generate-phpt/src/testcase/gtVariationTestCaseMethod.php new file mode 100644 index 0000000000..a9c921f9db --- /dev/null +++ b/scripts/dev/generate-phpt/src/testcase/gtVariationTestCaseMethod.php @@ -0,0 +1,68 @@ +<?php + +/** + * Class for variation tests for a PHP method + */ +class gtVariationTestCaseMethod extends gtVariationTestCase { + + protected $subject; + protected $argumentNumber; + protected $variationData; + protected $testCase; + + public function __construct($opt) { + $this->optionalSections = $opt; + } + + /** + * Set data neede to construct variation tests + * + * @param gtMethod $method + * @param string $argumentNumber + * @param string $variationData + */ + public function setUp(gtMethod $method, $argumentNumber, $variationData) { + $this->subject = $method; + $this->argumentNumber = $argumentNumber; + $this->variationData = $variationData; + } + + + /** + * Constructs the test case as a array of strings + * + */ + public function constructTestCase() { + $this->constructCommonHeaders(); + + $this->addVariationEcho(); + + $this->constructorArgInit(); + $this->constructorCreateInstance(); + + $this->constructSubjectcalls(); + $this->constructCommonClosing(); + + } + + public function testHeader() { + $this->testCase[] = "--TEST--"; + $this->testCase[] = "Test class ".$this->subject->getClassName()." method ".$this->subject->getName()."() by substituting argument ".$this->argumentNumber." with ".$this->variationData." values."; + } + + public function subjectCalls() { + $this->testCase = gtCodeSnippet::append('loopStart', $this->testCase); + // Construct the argument list to pass to the method being tested + $argumentList = explode(",", $this->subject->getMaximumArgumentList()); + $argumentList[$this->argumentNumber -1 ] = "\$var "; + $list = implode(", ", $argumentList); + + + $this->testCase[] = " var_dump(\$class->".$this->subject->getName()."( ".$list." ) );"; + $this->testCase = gtCodeSnippet::append('loopClose', $this->testCase); + + } + +} + +?>
\ No newline at end of file |
