1<?php 2 3/** 4 * Container for all possible variation test cases of functions 5 */ 6class gtVariationContainerFunction extends gtVariationContainer { 7 8 protected $function; 9 protected $optionalSections; 10 11 public function __construct($osl) { 12 $this->optionalSections = $osl; 13 } 14 15 /** 16 * Sets function being tested 17 * 18 * @param gtFunction $function 19 */ 20 public function setFunction(gtFunction $function) { 21 $this->function = $function; 22 } 23 24 25 /** 26 * Constucts all possible variation testcases in array $this->variationTests 27 * 28 */ 29 public function constructAll() { 30 31 32 $numberOfArguments = count($this->function->getMandatoryArgumentNames()) + count($this->function->getOptionalArgumentNames()); 33 for($i = 1; $i <= $numberOfArguments; $i++) { 34 foreach ($this->dataTypes as $d) { 35 $testCase = gtVariationTestCase::getInstance($this->optionalSections); 36 $testCase->setUp($this->function, $i, $d); 37 $testCase->constructTestCase(); 38 $this->variationTests[] = $testCase->toString(); 39 } 40 } 41 } 42} 43?>