summaryrefslogtreecommitdiff
path: root/scripts/dev/generate-phpt/src/testcase/gtVariationContainerFunction.php
diff options
context:
space:
mode:
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 0000000..dfee4ea
--- /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