summaryrefslogtreecommitdiff
path: root/scripts/dev/generate-phpt/src/testcase/gtVariationTestCaseMethod.php
diff options
context:
space:
mode:
authorLorry Tar Creator <lorry-tar-importer@baserock.org>2013-03-14 05:42:27 +0000
committer <>2013-04-03 16:25:08 +0000
commitc4dd7a1a684490673e25aaf4fabec5df138854c4 (patch)
tree4d57c44caae4480efff02b90b9be86f44bf25409 /scripts/dev/generate-phpt/src/testcase/gtVariationTestCaseMethod.php
downloadphp2-master.tar.gz
Imported from /home/lorry/working-area/delta_php2/php-5.4.13.tar.bz2.HEADphp-5.4.13master
Diffstat (limited to 'scripts/dev/generate-phpt/src/testcase/gtVariationTestCaseMethod.php')
-rw-r--r--scripts/dev/generate-phpt/src/testcase/gtVariationTestCaseMethod.php68
1 files changed, 68 insertions, 0 deletions
diff --git a/scripts/dev/generate-phpt/src/testcase/gtVariationTestCaseMethod.php b/scripts/dev/generate-phpt/src/testcase/gtVariationTestCaseMethod.php
new file mode 100644
index 0000000..a9c921f
--- /dev/null
+++ b/scripts/dev/generate-phpt/src/testcase/gtVariationTestCaseMethod.php
@@ -0,0 +1,68 @@
+<?php
+
+/**
+ * Class for variation tests for a PHP method
+ */
+class gtVariationTestCaseMethod extends gtVariationTestCase {
+
+ protected $subject;
+ protected $argumentNumber;
+ protected $variationData;
+ protected $testCase;
+
+ public function __construct($opt) {
+ $this->optionalSections = $opt;
+ }
+
+ /**
+ * Set data neede to construct variation tests
+ *
+ * @param gtMethod $method
+ * @param string $argumentNumber
+ * @param string $variationData
+ */
+ public function setUp(gtMethod $method, $argumentNumber, $variationData) {
+ $this->subject = $method;
+ $this->argumentNumber = $argumentNumber;
+ $this->variationData = $variationData;
+ }
+
+
+ /**
+ * Constructs the test case as a array of strings
+ *
+ */
+ public function constructTestCase() {
+ $this->constructCommonHeaders();
+
+ $this->addVariationEcho();
+
+ $this->constructorArgInit();
+ $this->constructorCreateInstance();
+
+ $this->constructSubjectcalls();
+ $this->constructCommonClosing();
+
+ }
+
+ public function testHeader() {
+ $this->testCase[] = "--TEST--";
+ $this->testCase[] = "Test class ".$this->subject->getClassName()." method ".$this->subject->getName()."() by substituting argument ".$this->argumentNumber." with ".$this->variationData." values.";
+ }
+
+ public function subjectCalls() {
+ $this->testCase = gtCodeSnippet::append('loopStart', $this->testCase);
+ // Construct the argument list to pass to the method being tested
+ $argumentList = explode(",", $this->subject->getMaximumArgumentList());
+ $argumentList[$this->argumentNumber -1 ] = "\$var ";
+ $list = implode(", ", $argumentList);
+
+
+ $this->testCase[] = " var_dump(\$class->".$this->subject->getName()."( ".$list." ) );";
+ $this->testCase = gtCodeSnippet::append('loopClose', $this->testCase);
+
+ }
+
+}
+
+?> \ No newline at end of file