/* [<][>][^][v][top][bottom][index][help] */
DEFINITIONS
This source file includes following definitions.
- getInstance
- argInitVariation
- addVariationCode
- constructSubjectCalls
- addVariationEcho
<?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 );
}
}