summaryrefslogtreecommitdiff
path: root/scripts/dev/generate-phpt/src/testcase/gtVariationContainerFunction.php
diff options
context:
space:
mode:
authorZoe Slattery <zoe@php.net>2009-05-07 09:21:43 +0000
committerZoe Slattery <zoe@php.net>2009-05-07 09:21:43 +0000
commitcba448a9d358451338d57c5e45f7c7e06f3143d2 (patch)
treedf77a5d196aca30ffeb295d7dd5e79dc2429422a /scripts/dev/generate-phpt/src/testcase/gtVariationContainerFunction.php
parent903f306a60fddda0c7faf824d9252b08add34456 (diff)
downloadphp-git-cba448a9d358451338d57c5e45f7c7e06f3143d2.tar.gz
Replacing generate script with a new version
Diffstat (limited to 'scripts/dev/generate-phpt/src/testcase/gtVariationContainerFunction.php')
-rw-r--r--scripts/dev/generate-phpt/src/testcase/gtVariationContainerFunction.php43
1 files changed, 43 insertions, 0 deletions
diff --git a/scripts/dev/generate-phpt/src/testcase/gtVariationContainerFunction.php b/scripts/dev/generate-phpt/src/testcase/gtVariationContainerFunction.php
new file mode 100644
index 0000000000..dfee4ea75e
--- /dev/null
+++ b/scripts/dev/generate-phpt/src/testcase/gtVariationContainerFunction.php
@@ -0,0 +1,43 @@
+<?php
+
+/**
+ * Container for all possible variation test cases of functions
+ */
+class gtVariationContainerFunction extends gtVariationContainer {
+
+ protected $function;
+ protected $optionalSections;
+
+ public function __construct($osl) {
+ $this->optionalSections = $osl;
+ }
+
+ /**
+ * Sets function being tested
+ *
+ * @param gtFunction $function
+ */
+ public function setFunction(gtFunction $function) {
+ $this->function = $function;
+ }
+
+
+ /**
+ * Constucts all possible variation testcases in array $this->variationTests
+ *
+ */
+ public function constructAll() {
+
+
+ $numberOfArguments = count($this->function->getMandatoryArgumentNames()) + count($this->function->getOptionalArgumentNames());
+ for($i = 1; $i <= $numberOfArguments; $i++) {
+ foreach ($this->dataTypes as $d) {
+ $testCase = gtVariationTestCase::getInstance($this->optionalSections);
+ $testCase->setUp($this->function, $i, $d);
+ $testCase->constructTestCase();
+ $this->variationTests[] = $testCase->toString();
+ }
+ }
+ }
+}
+?> \ No newline at end of file