mirror of
https://github.com/php/php-src.git
synced 2026-03-27 09:42:22 +01:00
55 lines
1.5 KiB
PHP
55 lines
1.5 KiB
PHP
|
|
<?php
|
|
|
|
/**
|
|
* Class for extended variations. Needs 'data type' and argument to vary
|
|
*/
|
|
|
|
abstract class gtVariationTestCase extends gtTestCase {
|
|
|
|
|
|
/**
|
|
* Returns an instance of a test case for a method or a function
|
|
*
|
|
* @param string $type
|
|
* @return test case object
|
|
*/
|
|
public static function getInstance($optionalSections, $type = 'function') {
|
|
|
|
if($type == 'function') {
|
|
return new gtVariationTestCaseFunction($optionalSections);
|
|
}
|
|
if($type =='method') {
|
|
return new gtVariationTestCaseMethod($optionalSections);
|
|
}
|
|
|
|
}
|
|
|
|
public function argInitVariation() {
|
|
$statements = $this->subject->getInitialisationStatements();
|
|
for($i=0; $i<count($statements); $i++) {
|
|
if($i != ( $this->argumentNumber -1) ) {
|
|
$this->testCase[] = $statements[$i];
|
|
}
|
|
}
|
|
$this->testCase = gtCodeSnippet::appendBlankLines(2, $this->testCase );
|
|
}
|
|
|
|
public function addVariationCode() {
|
|
$this->testCase = gtCodeSnippet::append($this->variationData, $this->testCase);
|
|
$this->testCase = gtCodeSnippet::appendBlankLines(2, $this->testCase );
|
|
}
|
|
|
|
public function constructSubjectCalls() {
|
|
$this->argInitVariation();
|
|
$this->addVariationCode();
|
|
$this->subjectCalls();
|
|
}
|
|
|
|
public function addVariationEcho() {
|
|
$this->testCase[] = "echo \"*** Test substituting argument ".$this->argumentNumber." with ".$this->variationData." values ***\\n\";";
|
|
$this->testCase = gtCodeSnippet::appendBlankLines(1, $this->testCase );
|
|
}
|
|
|
|
}
|
|
?>
|