diff options
Diffstat (limited to 'scripts/dev/generate-phpt/src/testcase/gtVariationTestCase.php')
-rw-r--r-- | scripts/dev/generate-phpt/src/testcase/gtVariationTestCase.php | 55 |
1 files changed, 55 insertions, 0 deletions
diff --git a/scripts/dev/generate-phpt/src/testcase/gtVariationTestCase.php b/scripts/dev/generate-phpt/src/testcase/gtVariationTestCase.php new file mode 100644 index 0000000..039367d --- /dev/null +++ b/scripts/dev/generate-phpt/src/testcase/gtVariationTestCase.php @@ -0,0 +1,55 @@ + +<?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 ); + } + +} +?>
\ No newline at end of file |