summaryrefslogtreecommitdiff
path: root/scripts/dev/generate-phpt/src/testcase/gtVariationContainerMethod.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/gtVariationContainerMethod.php
parent903f306a60fddda0c7faf824d9252b08add34456 (diff)
downloadphp-git-cba448a9d358451338d57c5e45f7c7e06f3143d2.tar.gz
Replacing generate script with a new version
Diffstat (limited to 'scripts/dev/generate-phpt/src/testcase/gtVariationContainerMethod.php')
-rw-r--r--scripts/dev/generate-phpt/src/testcase/gtVariationContainerMethod.php46
1 files changed, 46 insertions, 0 deletions
diff --git a/scripts/dev/generate-phpt/src/testcase/gtVariationContainerMethod.php b/scripts/dev/generate-phpt/src/testcase/gtVariationContainerMethod.php
new file mode 100644
index 0000000000..bee26b08aa
--- /dev/null
+++ b/scripts/dev/generate-phpt/src/testcase/gtVariationContainerMethod.php
@@ -0,0 +1,46 @@
+<?php
+/**
+ * Container for all possible variation test cases for a method
+ */
+class gtVariationContainerMethod extends gtVariationContainer {
+
+ protected $method;
+ protected $optionalSections;
+
+ public function __construct($osl) {
+ $this->optionalSections = $osl;
+ }
+
+
+ /**
+ * Sets the method to be tested
+ *
+ * @param gtMethod $method
+ */
+ public function setMethod(gtMethod $method) {
+ $this->method = $method;
+ }
+
+
+ /**
+ * Constructs all variation tests in $this_variationTests
+ *
+ */
+ public function constructAll() {
+
+ $numberOfArguments = count($this->method->getMandatoryArgumentNames()) + count($this->method->getOptionalArgumentNames());
+
+ for($i = 1; $i <= $numberOfArguments; $i++) {
+
+ foreach ($this->dataTypes as $d) {
+
+ $testCase = gtVariationTestCase::getInstance($this->optionalSections, 'method');
+ $testCase->setUp($this->method, $i, $d);
+ $testCase->constructTestCase();
+ $this->variationTests[] = $testCase->toString();
+
+ }
+ }
+ }
+}
+?> \ No newline at end of file